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

Jak używać ciągu znaków oddzielonych przecinkami w dynamicznym zapytaniu w SQL

Kiedy budujesz taki dynamiczny SQL, musisz umieścić swój parametr w podwójnym cudzysłowie ''

declare @ProductIDs varchar(11)
declare @SQL varchar(max)

set @ProductIDs='1,2,3,4'
declare @query varchar(max)
--set @query= @ProductIDs +','[email protected]

SELECT @SQL = 'SELECT val FROM dbo.[fnDelimitedStringToTable]('''+ @ProductIDs +''' , '','')'

Exec(@SQL)

W ten sposób instrukcja SQL będzie wyglądać następująco:

SELECT val FROM dbo.[fnDelimitedStringToTable]('1,2,3,4' , '','')

a nie:

SELECT val FROM dbo.[fnDelimitedStringToTable](1,2,3,4 , '','')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Narzędzia do zarządzania SQL Server 2017

  2. Uzyskiwanie dostępu do parametru wyjściowego procedury składowanej programu SQL Server w języku C#

  3. Jakie magiczne tabele są dostępne w SQL Server 2000?

  4. Nieprawidłowa składnia w pobliżu modift sql comm 'OFFSET' od 2012 do 2008

  5. Eksportowanie danych z widoku