MySQL JSON 字段模糊查询 - 针对特定 Key 的 Value 搜索
在 MySQL 中,可以使用JSON_CONTAINS 函数结合LIKE 关键字来实现对 JSON 字段中某个 key value 的模糊查询。
假设有一个名为data 的 JSON 字段,其中包含一个名为name 的 key,我们要查询name 字段值包含关键字abc 的记录,可以使用以下 SQL 语句:
SELECT * FROM your_table
WHERE JSON_CONTAINS(data->'$.name', '%abc%', '$')
这里的your_table 是你的表名,data 是 JSON 字段名。
JSON_CONTAINS 函数的第一个参数是 JSON 字段,使用-> 操作符获取name 字段。第二个参数是要搜索的 value,这里使用单引号将%abc% 括起来,表示模糊搜索。第三个参数是搜索范围,$ 表示整个 JSON 字段。
请注意,这种方法只能在 MySQL 5.7 及以上版本中使用。如果你使用的是较早版本的 MySQL,可以考虑使用外部工具或自定义函数来处理 JSON 模糊查询。
原文地址: https://www.cveoy.top/t/topic/qbKU 著作权归作者所有。请勿转载和采集!