Mysql字符串字段判斷是否包含某個(gè)字符串的2種方法
假設(shè)有個(gè)表:
CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VARCHAR(20) NOT NULL,emails VARCHAR(50) NOT NULL);
初始化表,并添加些記錄?!?br />
truncate table users
INSERT INTO users(user_name, emails) VALUES('小張','a@email.com,b@email.com,c@email.com');
INSERT INTO users(user_name, emails) VALUES('小王','aa@email.com,bb@email.com,cc@email.com');
Mysql 中有些字段是字符串類(lèi)型的,如何查找其中包含某些字符的記錄呢?
方法一:
SELECT * FROM users WHERE emails like "%b@email.com%";
這樣bb@email.com的用戶(hù)也查出來(lái)了,不符合預(yù)期。
方法二:
利用mysql 字符串函數(shù) find_in_set();
SELECT * FROM users WHERE find_in_set('aa@email.com', emails);
這樣是可以的,怎么理解呢?
mysql有很多字符串函數(shù) find_in_set(str1,str2)函數(shù)是返回str2中str1所在的位置索引,str2必須以","分割開(kāi)。
e.g.
mysql > SELECT find_in_set()('b','a,a,b,c,d') as test;
-> 3
相關(guān)文章
數(shù)據(jù)庫(kù)報(bào)錯(cuò):Unknown column 'xxx' in
但凡寫(xiě)過(guò)sql語(yǔ)句的人估計(jì)都曾經(jīng)碰到過(guò)類(lèi)似于Unknown column ‘xxx’ in ‘where clause’的問(wèn)題,這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫(kù)報(bào)錯(cuò):Unknown column 'xxx' in 'where clause'問(wèn)題的解決過(guò)程,需要的朋友可以參考下2023-03-03mariadb集群搭建---Galera Cluster+ProxySQL教程
這篇文章主要介紹了mariadb集群搭建---Galera Cluster+ProxySQL教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03MySql逗號(hào)分割的字段數(shù)據(jù)分解為多行代碼示例
逗號(hào)分割的字符串可以作為分組數(shù)據(jù)的標(biāo)識(shí)符,用于對(duì)數(shù)據(jù)進(jìn)行分組和聚合操作,下面這篇文章主要給大家介紹了關(guān)于MySql逗號(hào)分割的字段數(shù)據(jù)分解為多行的相關(guān)資料,需要的朋友可以參考下2023-12-12MySQL使用正則表達(dá)式去檢索指定數(shù)據(jù)庫(kù)字段
這篇文章主要介紹了MySQL使用正則表達(dá)式去檢索指定數(shù)據(jù)庫(kù)字段,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09解決阿里云ECS服務(wù)器下安裝MySQL無(wú)法遠(yuǎn)程連接的問(wèn)題
這篇文章介紹了解決阿里云ECS服務(wù)器安裝MySQL無(wú)法遠(yuǎn)程連接的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07