MySQL JSON 数组查询:如何将 JSON 字段转换为数组并使用 WHERE IN
可以使用 MySQL 内置函数 JSON_EXTRACT 和 JSON_ARRAY 来将 JSON 转为数组,并配合 WHERE IN 使用。
例如,假设 order 表中的 Items 字段如下:
[
{'id': 1, 'name': 'item1', 'price': 10},
{'id': 2, 'name': 'item2', 'price': 20},
{'id': 3, 'name': 'item3', 'price': 30}
]
要查询 Items 中 id 为 1 和 3 的记录,可以使用以下 SQL 语句:
SELECT * FROM `order`
WHERE JSON_EXTRACT(Items, '$[*].id') IN (1, 3)
其中,JSON_EXTRACT 函数将 Items 字段中所有元素的 id 提取出来,形成一个数组,然后再使用 WHERE IN 进行匹配。
原文地址: https://www.cveoy.top/t/topic/gQ32 著作权归作者所有。请勿转载和采集!