Mysql字符串字段判斷是否包含某個字符串的2種方法
假設(shè)有個表:
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 中有些字段是字符串類型的,如何查找其中包含某些字符的記錄呢?
方法一:
SELECT * FROM users WHERE emails like "%b@email.com%";
這樣bb@email.com的用戶也查出來了,不符合預(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必須以","分割開。
e.g.
mysql > SELECT find_in_set()('b','a,a,b,c,d') as test;
-> 3
相關(guān)文章
數(shù)據(jù)庫報錯:Unknown column 'xxx' in
但凡寫過sql語句的人估計都曾經(jīng)碰到過類似于Unknown column ‘xxx’ in ‘where clause’的問題,這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫報錯:Unknown column 'xxx' in 'where clause'問題的解決過程,需要的朋友可以參考下2023-03-03mariadb集群搭建---Galera Cluster+ProxySQL教程
這篇文章主要介紹了mariadb集群搭建---Galera Cluster+ProxySQL教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03MySql逗號分割的字段數(shù)據(jù)分解為多行代碼示例
逗號分割的字符串可以作為分組數(shù)據(jù)的標(biāo)識符,用于對數(shù)據(jù)進(jìn)行分組和聚合操作,下面這篇文章主要給大家介紹了關(guān)于MySql逗號分割的字段數(shù)據(jù)分解為多行的相關(guān)資料,需要的朋友可以參考下2023-12-12MySQL使用正則表達(dá)式去檢索指定數(shù)據(jù)庫字段
這篇文章主要介紹了MySQL使用正則表達(dá)式去檢索指定數(shù)據(jù)庫字段,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09解決阿里云ECS服務(wù)器下安裝MySQL無法遠(yuǎn)程連接的問題
這篇文章介紹了解決阿里云ECS服務(wù)器安裝MySQL無法遠(yuǎn)程連接的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07