mybatis mysql5.7_【mysql】mysql5.7支持的json字段查询【mybatis】

本文介绍了MySQL5.7中对JSON字段的各种查询方法,包括以JSON字段作为查询条件,判断字段类型,查询JSONArray和JSONObject,以及针对时间、数值的区间和等于查询。示例中详细展示了如何利用JSON_TYPE、LIKE、JSON_CONTAINS和STR_TO_DATE等函数进行复杂查询。
摘要由CSDN通过智能技术生成

mysql5.7支持的json字段查询

使用示例:

存储结构如下:

591b3dd5699b6c43a004a2001751d7a9.png

1.以json字段作为查询条件:[json字段全部是JSONObject类型的]

SELECT

*

FROMworksheet_data_table_data wWHEREw.val-> '$.input_0' LIKE '%0%'

查询结果:

5c91f303e2d25aa89073b3f8d7faba6b.png

2.判断JSON字段,是JSONObject类型还是JSONArray类型

SELECTw.val,

JSON_TYPE( w.val )FROMworksheet_data_table_data w

查询结果:

1a1d0a70ca721cbbe298462424b18127.png

3.查询JSON字段是 Array的JSON类型的

SELECTw.val,

JSON_TYPE( w.val )FROMworksheet_data_table_data wwhereJSON_TYPE(w.val)= 'ARRAY'

查询结果:

40cc9f0e7d6aaa7c062e665f22eabec0.png

4.以json字段为查询条件[查询JSONArray]类型  [like查询]

SELECT

*

FROMworksheet_data_table_data wWHEREw.val-> '$[*].*' LIKE '%峰%'

解释:

w.val -> '$[*].*' LIKE '%峰%'

1.w.val字段是JSON数组[无所谓JSONObject还是JSONArray]

[反正如果按照对象查,那数组是匹配不到的]

[反之,如果按照数组查,对象也是匹配不到的]

2.'$[*].*'代表查询JSONArray 数组格式的JSON字符串中,

第一个*代

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值