【发布时间】:2016-07-23 06:44:03
【问题描述】:
我正在使用支持 JSON 数据字段的 MYSQL 5.7.11。
我的一个表中有一个 JSON 字段,用于存储产品的价格历史记录:
JSON 结构示例:
[{"da": "2016-05-03 08:32", "pr":15.90}]
[{"da": "2016-03-22 09:02", "pr":14.40}]
[{"da": "2016-03-15 12:08", "pr":40.00}, {"da": "2016-06-28 10:32", "pr":42.00}]
[{"da": "2016-03-29 02:39", "pr":13.90}]
[{"da": "2016-05-03 08:38", "pr":17.90},{"da": "2016-07-19 10:18", "pr":26.80},{"da": "2016-07-19 14:20", "pr":24.80}]
如您所见,一行内可以有多个 JSON 数组。示例中的每个 JSON 行代表不同的产品。 就像第一行价格 15.90 是苹果,第二行 14.40 是橙色,第三行 40.00 和 42.00 是香蕉。只是为了说明这一点。
我正在寻找的是能够在日期范围之间进行搜索。
获取日期 A 到日期 B 之间的所有产品价格历史记录。
出于测试目的,我尝试做这样的事情:
select json_extract(json_price_history, '$.pr')=13.90 from products
但它总是返回许多只有 NULL 的行。
任何帮助将不胜感激......
【问题讨论】:
标签: mysql jsonpath mysql-5.7 mysql-json