实现原理 ,用表变量实现此功能:
将字符串切割成表记录。然后再in:
DECLARE @TA TABLE(col nvarchar(50));
declare @sql varchar(20)
set @sql='a,b,c,d'
declare @s varchar(5)
set @sql=@sql+','
while charindex(',',@sql)>0
begin
select @s=substring(@sql,1,charindex(',',@sql)-1)
select @sql=substring(@sql,charindex(',',@sql)+1,len(@sql))
INSERT @TA VALUES(@s);
end
SELECT * FROM @TA;
--select * from Tb1 where col in (select col from @ta)