首页 > 数据库技术 > 详细

mysql之json字段值查询-JSON_CONTAINS、JSON_EXTRACT

时间:2021-08-23 20:20:18      阅读:20      评论:0      收藏:0      [点我收藏+]

一、JSON_CONTAINS

先来看看我百度到的定义和实例

技术分享图片

 

  技术分享图片

 

 

============================================================================

解读:参数主要有三个值,分别是json对象、值、json的具体key值(可缺省)

人话:前面包含后面为真则返回1(前面包含后面!!前面包含后面!!前面包含后面!!)

吐槽:有篇帖子写了是判断是否包含某个json值,让我绕了很久的圈无法理解实际使用时的返回

写法:

1.select * from A where JSON_CONTAINS(json对象,值,json的某个key)

  • 完整简单写法(key的值也是一个json):select * from A where JSON_CONTAINS(@json,‘1‘,‘$.keyname‘)  //筛选出json对象keyname这个key值包含1的记录
  • 不带path的写法(第一个参数已经是一个json)select  JSON_CONTAINS(A.xx,‘1‘) //根据A表xx字段(json值)是否包含1返回1或0
  • 结合JSON_ARRAY的写法,因为要前面包含后面,所以子集至少是[2,6]

技术分享图片

 

  • 结合JSON_ARRAY写法之筛选符合任意个数元素的记录,此时把JSON_ARRAY放前面,匹配字段放后面(满足需求:scene_id包含1或6就返回)

 技术分享图片

 

 

二、JSON_EXTRACT

技术分享图片

 

 技术分享图片

 

==============================================================================

 解读:提取json的key的值,如有多个则以数组返回

用法:可以用来判断或提取值,后面可以加like或=等匹配词,跟在select后面则返回符合的json字段值,跟在where后面则返回作为条件判断

mysql之json字段值查询-JSON_CONTAINS、JSON_EXTRACT

原文:https://www.cnblogs.com/yellowbean/p/15177268.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!