Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Potrzebujesz pomocy w dynamicznym zapytaniu z klauzulą ​​IN

Jeśli twoja nazwa to

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

Możesz używać dynamicznego SQL

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

lub możesz sprawić, by funkcja dzielenia zwracała tabelę

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

Drugi jest znacznie lepszy ze względu na ochronę przed atakami typu SQL injection



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie cykliczne programu SQL Server

  2. Czy kolejność klauzul zapytań LINQ powinna wpływać na wydajność Entity Framework?

  3. Jak wybrać podzbiór kolumn z zestawu wyników procedury składowanej (T-SQL)

  4. 50 najważniejszych pytań do rozmowy kwalifikacyjnej na temat SQL Server, które musisz przygotować w 2022 r.

  5. Kopiowanie pakietów SSIS wdrożonych na SQL Server z powrotem do Visual Studio 2008