源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Mysql字符串字段判断是否包含某个字符串的2种方法

  • 时间:2022-07-03 22:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Mysql字符串字段判断是否包含某个字符串的2种方法
假设有个表:
[u]复制代码[/u] 代码如下:
CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VARCHAR(20) NOT NULL,emails VARCHAR(50) NOT NULL);
初始化表,并添加些记录。 
[u]复制代码[/u] 代码如下:
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 中有些字段是字符串类型的,如何查找其中包含某些字符的记录呢? [b]方法一: [/b]
[u]复制代码[/u] 代码如下:
SELECT * FROM users WHERE emails like "%b@email.com%";
这样bb@email.com的用户也查出来了,不符合预期。 [b]方法二:[/b] 利用mysql 字符串函数 find_in_set();
[u]复制代码[/u] 代码如下:
SELECT * FROM users WHERE find_in_set('aa@email.com', emails);
   这样是可以的,怎么理解呢? mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。 [b]e.g.[/b]
[u]复制代码[/u] 代码如下:
mysql > SELECT find_in_set()('b','a,a,b,c,d') as test; -> 3
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部