时间:2021-05-24
假设有个表:
复制代码 代码如下:
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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java判断字符串是否包含某个字符的方法:一、contains方法1:描述java.lang.String.contains()方法返回true,当且仅当此字符
判断字符串中是否包含某个字符时,在java中时直接使用indexOf()来判断的。 在php中好像也要对应的,strpos(),stripos() 不过
定位子串是指在一个字符串中寻找其中包含的子串或者某个字符。在String类中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及Inde
本文实例讲述了js判断一个字符串是否包含一个子串的方法。分享给大家供大家参考。具体如下:在我们前端日常开发中,经常会遇到判断一个字符串中是否包含某个子串,这里我
定位子串是指在一个字符串中寻找其中包含的子串或者某个字符,下面,逐一给大家详细介绍。 一、IndexOf/LastIndexOf IndexOf方法用于搜索