sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man använder Pass kommaseparerad sträng i dynamisk fråga i SQL

När du bygger en dynamisk SQL så måste du linda din parameter med dubbla citattecken ''

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)

På så sätt blir SQL-satsen:

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

och inte:

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


  1. PostgreSQL - kunde inte identifiera en likhetsoperator för typen json

  2. Vad avgör om rails inkluderar id::serial i en tabelldefinition?

  3. PostgisDialect vs PostgreSQLDialect eller båda?

  4. UnsupportedOperationException med DriverManager.getConnection() på Android