表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;