mysql查询json数组中的某个值
mysql5.7版本后支持json字段的检索查询。
- 使用 字段->'$.json属性' 进行查询条件
- 使用 json_extract 函数查询 ,json_extract(字段,"$.json属性")
- 根据 json数组 查询,JSON_CONTAINS(字段,JSON_OBJECT('json属性', "内容"))
1、使用 字段->'$.json属性'进行查询条件
{"name":"张三","age":"15"}
指定查询str字段中age值为15的数据:
select * from json_test where str->'$.age' = '15'
2、使用json_extract函数查询,json_extract(字段,"$.json属性")
查询条件同上:
select * from json_test where json_extract(str,"$.age")
3、根据json数组查询,用JSON_CONTAINS(字段,JSON_OBJECT('json属性', "内容"))
例如字段str存储的JSON数组为:
[{"name":"李四","age":"16"},{"name":"王五","age":"17"}]
查询条件为查询数组中name为李四的数据:
select * from json_test where JSON_CONTAINS(str,JSON_OBJECT('name', "李四"))
时间仓促,如有错误欢迎指出,欢迎在评论区讨论,如对您有帮助还请点个推荐、关注支持一下
作者:博客园 - 凉年技术
出处:http://www.cnblogs.com/xxhxs-21/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
若内容有侵犯您权益的地方,请公告栏处联系本人,本人定积极配合处理解决。