mysql json数据模糊查询
在MySQL中,可以使用JSON_EXTRACT
函数来查询JSON类型的数据,并结合LIKE
操作符实现模糊查询。但是,由于LIKE
操作符对于JSON数据的处理不是很友好,我们可以使用JSON_UNQUOTE
和JSON_EXTRACT
的组合来提取JSON字段值,并结合LIKE
操作符进行模糊查询。
以下是一个示例代码,假设我们有一个名为users
的表,其中包含一个名为profile
的JSON类型的列,我们要搜索profile
中包含特定关键字的记录:
SELECT *
FROM users
WHERE JSON_UNQUOTE(JSON_EXTRACT(profile, '$.name')) LIKE '%John%';
在这个例子中,我们使用JSON_EXTRACT
来获取profile
对象中的name
字段,然后用JSON_UNQUOTE
去掉任何引号,最后使用LIKE
操作符进行模糊匹配。
注意:在实际使用中,请确保你的MySQL版本支持JSON相关的函数,并且替换$.name
为你的实际JSON字段路径。
评论已关闭