可以使用 MySQL 内置函数 JSON_EXTRACTJSON_ARRAY 来将 JSON 转为数组,并配合 WHERE IN 使用。

例如,假设 order 表中的 Items 字段如下:

[
  {'id': 1, 'name': 'item1', 'price': 10},
  {'id': 2, 'name': 'item2', 'price': 20},
  {'id': 3, 'name': 'item3', 'price': 30}
]

要查询 Itemsid 为 1 和 3 的记录,可以使用以下 SQL 语句:

SELECT * FROM `order`
WHERE JSON_EXTRACT(Items, '$[*].id') IN (1, 3)

其中,JSON_EXTRACT 函数将 Items 字段中所有元素的 id 提取出来,形成一个数组,然后再使用 WHERE IN 进行匹配。

MySQL JSON 数组查询:如何将 JSON 字段转换为数组并使用 WHERE IN

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

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