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