表C_file,其中有个字段是spile,他存的是字符形式,例如:
id
spile
1
2,10,11
2
2,3,20,22
3
1,6,8
4
5,6,1,9
select * from C_file where spile LIKE '%1%'
如果这样查询的话,会查询出ID为1、3、4,但正确的应该是3、4
那么这个SQL语句应该怎么写才正确的查询出1
正确方法:
select * from C_file where find_in_set(1,spile)
或者:
select * from C_file where instr(concat(',',spile,','),',1,')<>0;