国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql字符串字段判斷是否包含某個字符串的2種方法

2024-07-24 13:06:44
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Mysql字符串字段判斷是否包含某個字符串的2種方法,本文使用Like和find_in_set兩種方法實現,需要的朋友可以參考下
 

假設有個表:

 

復制代碼代碼如下:

CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VARCHAR(20) NOT NULL,emails VARCHAR(50) NOT NULL);

 

初始化表,并添加些記錄。 

復制代碼代碼如下:

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的用戶也查出來了,不符合預期。

方法二:

利用mysql 字符串函數 find_in_set();

復制代碼代碼如下:

SELECT * FROM users WHERE find_in_set('aa@email.com', emails);
  

 

這樣是可以的,怎么理解呢?

mysql有很多字符串函數 find_in_set(str1,str2)函數是返回str2中str1所在的位置索引,str2必須以","分割開。

e.g.

 

復制代碼代碼如下:

mysql > SELECT find_in_set()('b','a,a,b,c,d') as test;
-> 3
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇东市| 阿勒泰市| 潍坊市| 四平市| 浠水县| 天门市| 彰武县| 瓮安县| 普陀区| 沙洋县| 宾阳县| 贡觉县| 富川| 亚东县| 易门县| 定安县| 苍山县| 双峰县| 桐城市| 稻城县| 普陀区| 花莲市| 额尔古纳市| 九龙县| 郓城县| 苍山县| 嵊州市| 永善县| 盐边县| 从江县| 雷州市| 临桂县| 镶黄旗| 玛纳斯县| 陇南市| 遂平县| 乌什县| 东港市| 宜阳县| 日照市| 武川县|