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', "李四"))

 

posted @   凉年技术  阅读(13673)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通

制作不易请求鼓励

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示