看一下下面这张表
如果想查询字段test包含1的数据,一般我们会用常规方式查询,如下:
SELECT * FROM c_test WHERE test LIKE "%1%"
但是查询结果不尽人意,如下:
不仅把包含1的查出来了,包含11,110的都查询出来了,这并不是我们想要的结果,因为我们只想要id为1的数据
此时,sql就有了大问题,我们可以做如下修改,将test字段值的两端都加上英文逗号,然后再LIKE查询,就不会有这种问题了,
sql如下:
SELECT * FROM c_test WHERE CONCAT(",",test,",") LIKE "%,1,%"
此时的查询结果如下:
这才是我们想要的结果.
还有一种方式,用mysql函数FIND_IN_SET(str,strlist)
SELECT * FROM c_test WHERE FIND_IN_SET("1",test)
但是这种方式只适用于用逗号隔开的字符串,使用时要注意一下
以上就是土嘎嘎小编为大家整理的mysql模糊查询1,11,111用逗号_其他符号)拼接的相似字符串相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!