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
这才是咱们想要的结果。数据