可以使用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进行匹配。

MYSQL中表order有字段Items是个JSON数组查询时如何将JSON转为数组配合WHERE IN

原文地址: https://www.cveoy.top/t/topic/eF47 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录