Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Precisa de ajuda na consulta dinâmica com a cláusula IN


Se o seu nome verdor é
 declare @in varchar(100)
 select @in = 'HP,LENOVO'

Você pode usar SQL dinâmico
 declare @sql nvarchar(1000)
 select @sql = 'select * from yourtable where yourfield in ('[email protected] +')'
 exec sp_executesql @sql

ou você pode fazer sua função de divisão retornar uma tabela
 select * 
 from yourtable
     inner join dbo.f_Split(@in) f 
     on yourtable.yourfield =f.entry

O segundo é muito preferível devido à sua proteção contra ataques do tipo injeção de SQL