MYSQL中表order有字段Items是个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/eF47 著作权归作者所有。请勿转载和采集!