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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM