实现原理 ,用表变量实现此功能:
将字符串切割成表记录。然后再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)>0begin 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)