mysql json数据模糊查询
warning:
这篇文章距离上次修改已过449天,其中的内容可能已经有所变动。
在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字段路径。
评论已关闭