日期:2014-05-17  浏览次数:20425 次

sql查询 求帮忙!
传一个字符串 ,比如:“,562,46,65,”
数据库里面有一张表,请问怎么查询这个表中的一个字段是否包含上面的任意一个,按逗号分开


最后拼成的语句应该是这样
select  * from temp where charindex(',562,',FoodIdList,0)>0
or  charindex(',46,',FoodIdList,0)>0 
or  charindex(',65,',FoodIdList,0)>0

问题主要是charindex里面的第一个参数怎么弄? charindex(',562,',FoodIdList,0)>0
SQL

------解决方案--------------------
你是要的sql数据:562,46,65拆分,还是源代码数据:562,46,65拆分哦?
sql拆分:SQL
源代码数据拆分:string.split(',');
------解决方案--------------------
declare @str nvarchar(200)
set @str=',562,46,65,'--传入字符串
select * from temp  where CHARINDEX(','+cast(Id as nvarchar)+',',@str)>0