【问题标题】:mysql extract_json value from arraymysql从数组中提取_json值
【发布时间】:2019-02-06 08:15:07
【问题描述】:

我有一个 MySQL 数据库,其中包含一个名为“products”的表。 此表包含名为“values”的 Json Data_type 列。

我想找到提取特定值的路径:

选择 JSON_EXTRACT(值, '$.COD') 从产品 其中 id = '1'

返回:

"COD": {"<channels>": {"<locales>": "3699999999999"}}

而我想要的是“3699999999999”。

很明显我的路径不是很好,但我找不到解决方案。

感谢您的帮助!

【问题讨论】:

  • 您好,欢迎您。作为新手阅读How to Askminimal reproducible example 是学习如何提出好问题的好习惯。对于这种情况,您应该提供表架构。
  • 试试$.COD.&lt;locales&gt;
  • 谢谢,我试过了,但我收到关于 '' 字符的错误:“无效的 JSON 路径表达式。错误在字符位置 26 附近。”
  • 试试dbfiddle
  • 你摇滚 wchiquito !我怎么错过了?无论如何,有没有办法选择你的答案作为解决方案?

标签: mysql arrays json


【解决方案1】:

你可以试试

SELECT JSON_EXTRACT(`values`, '$.COD.<channels>.<locales>') FROM products WHERE id = '1';

更多详情请参考mysql-for-your-json

【讨论】:

  • 谢谢,我试过了,但我收到关于特殊字符“”的错误。 “无效的 JSON 路径表达式。错误在字符位置 26 附近。”
  • 请您尝试使用反引号&lt;channels&gt;.&lt;locales&gt;
  • 再次感谢,我试过了 ---> 选择 JSON_EXTRACT(values, '$.COD.&lt;channels>.&lt;locales>') 和 ----> JSON_EXTRACT(values, '$ .COD.&lt;channels&gt;.&lt;locales&gt;') 但同样的错误两次。
猜你喜欢
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多