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

本文介绍四种在MySQL中进行模糊查询的方法:使用LIKE语句、find_in_set()函数、LOCATE()函数以及INSTR()函数,并对比了它们的速度差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:like
SELECT * FROM 表名 WHERE 字段名 like "%字符%";
方法二:find_in_set()

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

SELECT * FROM users WHERE find_in_set(str1, str2);

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

示例:SELECT FIND_IN_SET(‘b’,‘a,b,c,d’); //返回值为2,即第2个值

方法三:LOCATE(substr,str)

使用LOCATE(substr,str)函数,如果包含,返回>0的数,否则返回0 ,别名是 position in。

select * from 表名 where locate(str1, str2)
select * from 表名 where position(str1 in str2);

示例:
SELECT 字段名 FROM 表名 WHERE LOCATE( 字段名, 字符串);

方法四:INSTR(字段,字符)
select * from 表名 where INSTR(str1, str2)
网上结论:用 locate 速度快。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值