создать функцию, которая разделить строку на
CREATE FUNCTION dbo.Split(@String varchar(8000), @Delimiter char(1))
возвращается @tempta Таблица BLE (пункты VARCHAR (8000))
, как
начинают
DECLARE @idx Int
объявлять @slice VARCHAR (8000)
выберите @idx = 1
, если Len (@String) < 1 или @String является недействительным возврат
в то время как @idx! = 0
начинают
множество @idx = CHARINDEX (@ разделитель, @ String)
если @idx! = 0
набор @slice = левый (@ String, @ IDX - 1)
еще
множества @slice = @String
if(len(@slice)>0)
insert into @temptable(Items) values(@slice)
set @String = right(@String,len(@String) - @idx)
if len(@String) = 0 break
конец возвращение
конец
затем сделать вызов функции SELECT * FROM someTable Где column1 IN (dbo.Split (@listobj))
enter link description here
Эта ссылка обсуждает проблему в деталях: http://www.williamrobertson.net/documents/comma-separated.html – guruprasath
Возможный дубликат [Параметрирование предложения SQL IN?] (http://stackoverflow.com/questions/337704/parameterizing-an-sql-in-clause) – icc97