Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Hai bisogno di aiuto nella query dinamica con la clausola IN

Se il tuo nome è

 declare @in varchar(100)
 select @in = 'HP,LENOVO'

Puoi usare SQL dinamico

 declare @sql nvarchar(1000)
 select @sql = 'select * from yourtable where yourfield in ('[email protected] +')'
 exec sp_executesql @sql

oppure puoi fare in modo che la tua funzione di divisione restituisca una tabella

 select * 
 from yourtable
     inner join dbo.f_Split(@in) f 
     on yourtable.yourfield =f.entry

Il secondo è di gran lunga preferibile per la sua protezione dagli attacchi di tipo SQL injection