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