Old Approach :
Declare @SQL VARCHAR(MAX) |
Declare @WhereClause VARCHAR(MAX) |
Set @WhereClause='Bob,Hulda,Jacoba' |
SET @WhereClause=REPLACE(@WhereClause,',',''',''') |
Set @SQL='Select * |
from dbo.[Student] |
Where [Student Name] In (''' + @WhereClause + ''')' |
EXEC (@SQL) |
New Approach :
Declare @Xml AS XML |
Declare @WhereClause VARCHAR(MAX) |
Set @WhereClause='Bob,Hulda,Jacoba' |
SET @Xml = cast(('<A>'+replace(@WhereClause,',' ,'</A><A>')+'</A>') AS XML) |
Select * |
from dbo.[Student] |
Where [Student Name] In ( |
SELECT A.value('.', 'varchar(max)') as [Column] FROM @Xml.nodes('A') AS FN(A) |
)
No comments:
Post a Comment