Khi bạn xây dựng một SQL động như vậy, bạn cần đặt tham số của mình trong dấu ngoặc kép ''
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)
Theo cách này, câu lệnh SQL sẽ là:
SELECT val FROM dbo.[fnDelimitedStringToTable]('1,2,3,4' , '','')
chứ không phải:
SELECT val FROM dbo.[fnDelimitedStringToTable](1,2,3,4 , '','')