0

我正在使用 mssql 2008。

此代码正在运行。

declare @colDate1 char(8)
set @colDate1 = 'A'
 EXEC ('SELECT ''value'' AS ' + @colDate1)

但是,以下代码有错误。

declare @colDate1 char(8)
set @colDate1 = '1'
 EXEC ('SELECT ''value'' AS ' + @colDate1)

如何将包含整数的参数传递给动态 sql?请帮我。谢谢

4

1 回答 1

0

对于这样的别名,您需要将其用双引号或方括号括起来,如下所示:

declare @colDate1 char(8)
set @colDate1 = '1'
 EXEC ('SELECT ''value'' AS [' + @colDate1 + ']')

对于动态混叠,为了安全起见,我建议总是这样做。

于 2014-08-26T14:21:25.833 回答