mysql 字段存储多个值 ,判断一个值是否在其中

表C_file,其中有个字段是spile,他存的是字符形式,例如:1,2,10,11

C_file

ID     spile
1      2,10,11
2      2,3,20,22
3      1,6,8
4      5,6,1,9
 
 
 
 
SQL:   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;

猜你喜欢

转载自blog.csdn.net/cail_520914/article/details/79277126