动态列名基于"整数变量"

时间:2014-08-26 14:16:16

标签: sql-server stored-procedures dynamic parameters dynamic-variables

我正在使用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? 请帮我。 感谢

1 个答案:

答案 0 :(得分:0)

对于这样的别名,你需要用双引号或方括号包装它,如下所示:

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

对于动态别名,我建议只是这样做,只是为了安全。