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


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM