时间:2021-05-24
表结构如下:
id varchar(32) info json数据:
id = 1info = {"age": "18","disname":"小明"}--------------------------------------------
现在我需要获取info中disanme的值,查询方法有:
1.
select t.id,JSON_EXTRACT(t.info,'$.disname') as disname from tableName t where 1=1结果:
id = 1, disname=“小明”
以上sql查出的disname值是带有双引号的,有时我们不需要双引号,此时就需要用到下面这种方式。
2.
select t.id,t.info ->> '$.disname' as disname from tableName t where 1=1结果:
id = 1 , disname=小明ps:下面看下mysql查询json字段
建表语句
Create Table CREATE TABLE `test` ( `id` int(10) , `user` json DEFAULT NULL COMMENT '用户信息', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8插入数据
需要注意的是,json数据外面需要单引号来区别
INSERT INTO test (id,USER) VALUES(1,'{"name": "tom", "age": 18, "money": 3000}');INSERT INTO test (id,USER) VALUES(2,'{"name": "jack", "age": 20, "money": 100}');INSERT INTO test (id,USER) VALUES(3,'{"name": "tony", "age": 21, "money": 100}');INSERT INTO test (id,USER) VALUES(4,'{"name": "danny", "age": 21, "money": 20}');INSERT INTO test (id,USER) VALUES(5,'{"name": "janny", "age": 23, "money": 20}');表数据如下
查询语句
SELECT id,JSON_EXTRACT(USER,'$.name')FROM test;下面是查询结果
总结
以上所述是小编给大家介绍的mysql查询字段类型为json时的两种查询方式 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
sql语句条件查询时,有时会判断某个字段是否为空。 字段内容为空有两种情况 1.为null 2.为字符串的空'' 语句如下: select*fro
电话订票成功后可以通过如下两种方式查询订单号:方法一:拨打订票电话,通过语音提示按“2”即可进入订单查询通道,有两种查询方式,然后按“2”为根据订单号查询订单信
本文实例讲述了MySql查询时间段的方法。分享给大家供大家参考。具体方法如下:MySql查询时间段的方法未必人人都会,下面为您介绍两种MySql查询时间段的方法
前言在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询;另一种是不同服务的跨库查询;它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询。一、同服
mysql中分页查询有两种方式,一种是使用COUNT(*)的方式,具体代码如下复制代码代码如下:SELECTCOUNT(*)FROMfooWHEREb=1;SE