查询数据库中指定字段中存储的json数据是否包含某个值

查询数据库中指定字段中存储的json数据是否包含某个值,第1张

正常来说,使用mysql的JSON_EXTRACT()处理函数就可以了,例如:

SELECT JSON_EXTRACT('{"id":"3"}', "$id")

;可以查询出id字段中包含id为3的,但是会有一个问题,当mysql的使用工具navicat版本过低时,不支持转码或者查询,会报错,这是需要在JSON_EXTRACT外面套一层JSON_UNQUOTE 即可正常使用,语句如下:

SELECT JSON_UNQUOTE(JSON_EXTRACT('{"id":"3"}', "$id"));

用正则匹配,把这个字段看成字符串类型的。类似这种写法:

SELECT DISTINCT tag, body FROM pages

WHERE (body REGEXP BINARY '"listeListeOuiNon":"1"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')

以上就是关于查询数据库中指定字段中存储的json数据是否包含某个值全部的内容,包括:查询数据库中指定字段中存储的json数据是否包含某个值、sql中对json数据字段的查询、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9507049.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存