mysql模糊查询1,11,111用逗号拼接的类似字符串

mysql进行模糊查询时,基本都是LIKE "%sss%",有时候这种查询时准确的,可是有种状况这种查询会出现很大问题。mysql

看一下下面这张表sql

若是想查询字段test包含1的数据,通常咱们会用常规方式查询,以下:spa

SELECT * FROM c_test WHERE test LIKE "%1%"

可是查询结果不尽人意,以下:code

 

不只把包含1的查出来了,包含11,110的都查询出来了,这并非咱们想要的结果,由于咱们只想要id为1的数据blog

此时,sql就有了大问题,咱们能够作以下修改,将test字段值的两端都加上英文逗号,而后再LIKE查询,就不会有这种问题了,class

sql以下:test

SELECT * FROM c_test WHERE CONCAT(",",test,",") LIKE "%,1,%"

此时的查询结果以下:im

这才是咱们想要的结果。数据

相关文章
相关标签/搜索