Mysql查找如何判断字段是否包含某个字符串


Mysql查找如何判断字段是否包含某个字符串

有这样一个需求,在Mysql数据库字符串字段(权限)中,用户有多个不同的邮箱,分别被‘,’分开,现在要取出某个邮箱的所有成员列表。

假设有个表:

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(‘小张‘,‘[email protected],[email protected],[email protected]‘);
INSERT INTO users(user_name, emails) VALUES(‘小王‘,‘[email protected],[email protected],[email protected]‘);
   

Mysql 中有些字段是字符串类型的,如何查找其中包含某些字符的记录呢?

方法一

很简单可以用%来实现

比如

SELECT * FROM users WHERE emails like "%b@email.com%";
   

但是这样子的话就会把[email protected]也查出来了就不符合需求了

方法二

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

SELECT * FROM users WHERE find_in_set(‘[email protected]‘, emails);
   

这样子就可以找到email字段里包含有[email protected]的所有用户了

这样就能达到我们预期的效果,问题就解决了!

要注意的是:mysql字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。

时间: 2024-10-26 05:40:59

Mysql查找如何判断字段是否包含某个字符串的相关文章

Oracle中判断字段是否包含中文

如果要判断字段中包含中文,有个简单的方法. SQL> drop table test purge; SQL> create table test as select * from dba_objects where rownum<10; SQL> update test set object_name='中国' where  rownum <3; SQL> commit; SQL> col object_name format a30 SQL> col as

js判断网页标题包含某字符串则替换

js判断网页标题包含某字符串则替换,代码如下: var tit=document.title; if(tit.indexOf("afish")>0){ tit=tit.replace('http://t.qq.com/wb631992791','小鱼阁'); document.title=tit; js判断网页标题包含某字符串则替换

mysql查询某一个字段是否包含中文字符

在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是: SELECT col FROM table WHERE length(col)!=char_length(col) 网上搜索有很多种查询方法,但是试了很多都不行,这个是找到的可以使用的查询方法,原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的. # 以下这两个方法查询字段中是否包含中文 SELECT country FROM

SQL 通过syscolumns.xtype动态查找指定数据类型字段所包含的数据

表中太多列,只想查找某些比如,数据类型为varchar的字段的数据. 思路:1.先获取列名: select * from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='test_A') 2.查找指定数据类型,xtype就是数据类型,参考如下 syscolumns表内的xtype 查了一下,这些东西都是存于每一个数据库的syscolumns表里面得,name就是列名,xtype就是数据类型

mysql查找某连续字段中断的编号

查询dj_pxlb表中zwh 空缺的值 select model2.zwh-1 as kqzwh from (select model1.zwh from dj_pxlb as model1 where model1.ccbh ='abc' order by model1.zwh desc) as model2 where model2.zwh>1 and not exists (select model3.zwh from dj_pxlb as model3 where  model3.ccb

快速查找所有存储过程中是否包含某个字符串

--将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%text%' and o.xtype = 'P' --将text替换成你要查找的内容 SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%text%

用sql语句查出来字段里包含某个字符串的所有记录

一般用substring函数截取出特定字段,如 --用户姓名第二个字是'大'字的 select * from Users where SUBSTRING(UserName,2,1)='大' 第二种方法就是直接like模糊查询,看具体情况使用 select * from Users where UserName like '%大%' 原文地址:https://www.cnblogs.com/ncwoniu/p/11573753.html

PHP判断字符串中是否包含指定字符串,支持中文哦

RT,随手写的 1 /** 2 * 判断字符串中是否包含指定字符串 3 * @var source 源字符串 4 * @var target 要判断的是否包含的字符串 5 * @return bool 6 */ 7 function hasstring($source,$target){ 8 preg_match_all("/$target/sim", $source, $strResult, PREG_PATTERN_ORDER); 9 return !empty($strResul

判断字符串是否包含其他字符串

//判断两字符串是否相等- (BOOL)isEqualToString:(NSString *)aString; //判断开头是否包含该字符串- (BOOL)hasPrefix:(NSString *)aString; //判断结尾是否包含该字符串- (BOOL)hasSuffix:(NSString *)aString; //该字符串在那个位置- (NSRange)rangeOfString:(NSString *)aString; 判断字符串是否包含其他字符串,布布扣,bubuko.com