根据查询日期(月)更改列名称

时间:2016-04-26 07:35:54

标签: sql-server sql-server-2008

我每个月都会收到销售人员的佣金。我需要根据运行查询的月份更改列名称。

就像我在2016年3月30日运行查询时那样,我的名字是commission for month 1commission for month January

就像我在2016年3月30日运行查询一样,这个名称是commission for month 3commission for month March

我试过这段代码:

Select T0.commission as 'Commission for month month(getdate())'

它不起作用

2 个答案:

答案 0 :(得分:3)

此查询将返回一些虚拟数据(系统视图中的表名。该列将使用动态生成的字符串命名:

DECLARE @cmd VARCHAR(MAX)='SELECT TABLE_NAME AS [' + 'placeYourColHere_' + CAST(MONTH(GETDATE()) AS VARCHAR(10)) + '] FROM INFORMATION_SCHEMA.TABLES;';
EXEC(@cmd);

答案 1 :(得分:1)

请尝试此查询

select 'Commission for month ' + CONVERT(NVARCHAR(2),DATEPART(MM,GETDATE())) AS 'Date'