mysql8.0 JSON_CONTAINS的使用說(shuō)明
JSON_CONTAINS的使用
語(yǔ)法
JSON_CONTAINS(json_doc, val[, path])
案例
select * from tb ? ? where info->'$.name' = '特價(jià)促銷(xiāo)' ?or JSON_CONTAINS(info->'$[*].name', '"特價(jià)促銷(xiāo)"', '$')
SET @json = '{"A": 0, "B": {"C": 1}, "D": 2}';
SELECT JSON_CONTAINS(@json, '2', '$.A');
+----------------------------------+
| JSON_CONTAINS(@json, '2', '$.A') |
+----------------------------------+
| 0 |
+----------------------------------+
SELECT JSON_CONTAINS(@json, '2', '$.D');
+----------------------------------+
| JSON_CONTAINS(@json, '2', '$.D') |
+----------------------------------+
| 1 |
+----------------------------------+
SELECT JSON_CONTAINS(@json, '{"C": 1}', '$.A');
+-----------------------------------------+
| JSON_CONTAINS(@json, '{"C": 1}', '$.A') |
+-----------------------------------------+
| 0 |
+-----------------------------------------+
SELECT JSON_CONTAINS(@json, '{"C": 1}', '$.B');
+-----------------------------------------+
| JSON_CONTAINS(@json, '{"C": 1}', '$.B') |
+-----------------------------------------+
| 1 |
+-----------------------------------------+JSON_CONTAINS函數(shù)問(wèn)題
mysql 存的是[14,15]這種數(shù)據(jù)結(jié)構(gòu) 查詢(xún)的解決辦法
結(jié)構(gòu)如下
學(xué)生類(lèi):
@Column(value = "subject_ids", type = MySqlTypeConstant.TEXT) @ColumnComment(value = "科目??啥噙x,格式如[1,2,3]") private List<Long> subjectIds;
數(shù)據(jù)庫(kù)類(lèi)型:text
mysql 存儲(chǔ)類(lèi)型: [14,15]
這個(gè)時(shí)候根據(jù)科目ID去查詢(xún)有那些學(xué)生選擇了14這個(gè)科目得時(shí)候就不能用in這個(gè)語(yǔ)法了
這個(gè)時(shí)候就可以使用
SELECT * FROM `t_student` where ?JSON_CONTAINS(subject_ids, '14')
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL字符串索引更合理的創(chuàng)建規(guī)則討論
這篇文章主要給大家介紹了關(guān)于MySQL字符串索引更合理的創(chuàng)建規(guī)則,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
MySQL判別InnoDB表是獨(dú)立表空間還是共享表空間的方法詳解
這篇文章主要給大家介紹了關(guān)于MySQL判別InnoDB表是獨(dú)立表空間還是共享表空間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
MySQL數(shù)據(jù)庫(kù)常見(jiàn)字段類(lèi)型長(zhǎng)度匯總大全
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)常見(jiàn)字段類(lèi)型長(zhǎng)度匯總大全的相關(guān)資料,需要的朋友可以參考下2024-05-05
Mysql InnoDB引擎的索引與存儲(chǔ)結(jié)構(gòu)詳解
這篇文章主要給大家介紹了Mysql InnoDB引擎的索引與存儲(chǔ)結(jié)構(gòu)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎的應(yīng)用
存儲(chǔ)引擎是MySQL將數(shù)據(jù)存儲(chǔ)在文件系統(tǒng)中的存儲(chǔ)方式,本文主要介紹了MySQL數(shù)據(jù)庫(kù)的存儲(chǔ)引擎的應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Windows系統(tǒng)下MySQL忘記root密碼的2種解決辦法
這篇文章主要介紹了Windows系統(tǒng)下MySQL忘記root密碼的2種解決辦法,一種是通過(guò)啟動(dòng)MySQL時(shí)跳過(guò)權(quán)限表驗(yàn)證,然后重置密碼,另一種是創(chuàng)建一個(gè)包含新密碼的文本文件,并通過(guò)MySQL的--init-file選項(xiàng)來(lái)應(yīng)用該文件中的密碼設(shè)置,需要的朋友可以參考下2024-11-11

