您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“mysql查詢字段類型為json時的查詢方式有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“mysql查詢字段類型為json時的查詢方式有哪些”這篇文章吧。
表結構如下:
id varchar(32) info json
數據:
id = 1 info = {"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時的查詢方式有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。