有没有办法在SQL查询结果中使用变量来命名列?我的下面的例子给出了一个"不正确的语法"错误?
s:form
答案 0 :(得分:1)
通常,SQL不会处理定义用作列别名的变量。这意味着您可能不得不使用dynamic SQL,这涉及构建查询,然后通过sp_executesql
过程手动执行。
以下是使用SQL Server动态执行的现有查询的示例:
-- Define your variable
DECLARE @ColumnName VARCHAR(100) = 'Column 1'
-- Define your SQL query
DECLARE @SQL NVARCHAR(200) = 'SELECT CustomerNumber AS ' + @ColumnName + ' FROM Customers'
-- Execute your query dynamically
EXEC sp_executesql @SQL