表結(jié)構(gòu)如下:
數(shù)據(jù):
id = 1
info = {"age": "18","disname":"小明"}
--------------------------------------------
現(xiàn)在我需要獲取info中disanme的值,查詢(xún)方法有:
1.
select t.id,JSON_EXTRACT(t.info,'$.disname') as disname from tableName t where 1=1
結(jié)果:
id = 1, disname=“小明”
以上sql查出的disname值是帶有雙引號(hào)的,有時(shí)我們不需要雙引號(hào),此時(shí)就需要用到下面這種方式。
2.
select t.id,t.info ->> '$.disname' as disname from tableName t where 1=1
結(jié)果:
ps:下面看下mysql查詢(xún)json字段
建表語(yǔ)句
Create Table
CREATE TABLE `test` (
`id` int(10) ,
`user` json DEFAULT NULL COMMENT '用戶(hù)信息',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
插入數(shù)據(jù)
需要注意的是,json數(shù)據(jù)外面需要單引號(hào)來(lái)區(qū)別
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}');
表數(shù)據(jù)如下

查詢(xún)語(yǔ)句
SELECT id,JSON_EXTRACT(USER,'$.name')FROM test;
下面是查詢(xún)結(jié)果

總結(jié)
以上所述是小編給大家介紹的mysql查詢(xún)字段類(lèi)型為json時(shí)的兩種查詢(xún)方式 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
您可能感興趣的文章:- mysql5.6及以下版本如何查詢(xún)數(shù)據(jù)庫(kù)里的json
- MySQL全文索引、聯(lián)合索引、like查詢(xún)、json查詢(xún)速度哪個(gè)快
- mysql json格式數(shù)據(jù)查詢(xún)操作
- Mysql 查詢(xún)JSON結(jié)果的相關(guān)函數(shù)匯總
- MySQL中查詢(xún)json格式的字段實(shí)例詳解