我在查询中为字段生成别名时遇到了问题,例如,它为我提供了去年和前一年的收入。我理解我可以做类似的事情:
SELECT
1234 AS 'REVENUE' + CAST (year(DATEADD(year,-1,getdate())) AS VARCHAR(20))
4321 AS 'REVENUE' + CAST (year(DATEADD(year,-2,getdate())) AS VARCHAR(20))
但这不起作用。有人知道如何完成这项工作吗?
我希望最终得到像
这样的表格rownr|revenue2014|revenue2013
-----------------------------
1 |1234 |4321
提前多多感谢!
迎接Niels
答案 0 :(得分:4)
DECLARE @sql VARCHAR(1000);
SET @sql = 'SELECT
1234 AS REVENUE' + CAST (year(DATEADD(year,-1,getdate())) AS VARCHAR(20)) + ',
4321 AS REVENUE' + CAST (year(DATEADD(year,-2,getdate())) AS VARCHAR(20))
PRINT @sql
EXEC (@sql)
在静态SQL查询中不可能这样做。所以只有这样。