当前位置:Gxlcms > 数据库问题 > Mysql 精确查询是否字段中包含某个字符串

Mysql 精确查询是否字段中包含某个字符串

时间:2021-07-01 10:21:17 帮助过:27人阅读

首先可能用的最多的LIKE 模糊查询,这样的数据不太精确,如果姓名有 “西贝小小凤1,西贝小小凤2” 这样的也会查出来,数据不太准确

select * from table where field like %西贝小小凤%

查询结果

 

 

技术图片

 

 

 

 总结:Like模糊查询,对字符没有特殊限制,但是查询不精确

IN查询  

select * from table where field in(‘西贝小小凤‘,‘西贝‘,‘小小凤‘)

 查询结果:

技术图片

 

 

 总结:in查询,必须完全匹配,字段里面包含字符串也不可以

find_in_set查询

最后大佬出马,find_in_set,这个比较特殊,数据库保存的格式必须是以","分割的,查询比较精确

 

技术图片

 

 

 

总结:find_in_set 是精确查询,字段值以英文”,”分隔

 

我最近用哪个UNION ALL多个表连接查询数据,发现在每条sql里面写find_in_set不管用,最后发现需要这么写才行

select * from (
    select a.`id` id,a.`power` power from table1 a  
    UNION ALL
    select b.`id` id,b.`power` power  from table2 b  
    UNION ALL
    select c.`id` id,c.`power` power  from table3 c  
) t WHERE find_in_set(西贝小小凤, t.power);

 

要这么用哈,总觉得自己会MySQL,但是很多东西好像都不会啊啊啊啊啊啊,生活的变数太多,珍惜现在!!

 

Mysql 精确查询是否字段中包含某个字符串

标签:珍惜   区别   sql   size   pre   不可   div   font   color   

人气教程排行