2014-09-01 78 views
1

我一直在閱讀相當多的SO線程&如何實現這一點,但沒有什麼是真的幫助我。DATENAME作爲列名?

IE:

How do I name a column as a date value

current month as column name

todays date as a column name to a simple select statement.

我還可以繼續向你表明我已閱讀線程,但沒有人可以回答我想。

從本質上講,我試圖在SQL做的是這樣的:

SELECT 
    Blahblah AS DATENAME(MONTH, GETDATE()) --AS "September" 

OR

DECLARE 
    @CM VARCHAR(50) 

SET 
    @CM = DATENAME(MONTH,GETDATE()) 

SELECT 
    Blahblah AS @CM --AS "September" 

我知道,那些沒有工作,但是這是要告訴你我我正在努力去做。有沒有人能夠實現這一目標?

你能指點我一條你可能讀過的文章嗎?

非常感謝,

邁克

+0

使用數據透視表,也顯示一些例子表 – sumit 2014-09-01 09:03:04

+0

嗯,所以它不像我想的那麼簡單?我可能就放棄了這個想法:(哈哈 – Mike 2014-09-01 09:05:47

+0

對不起..我想更多..其簡單..檢查答案 – sumit 2014-09-01 09:10:01

回答

0

試試這個

DECLARE 
@CM VARCHAR(50), 
@sql varchar(max) 
SET @CM = DATENAME(MONTH,GETDATE()) 

SET @sql ='SELECT 
''Blahblah'' as '+ @CM 
exec(@sql)  
2

也許你可以使用動態SQL這樣的:

create table t (val int) 
insert t values (100) 

declare @month varchar(20) = datename(month, getdate()) 

declare @sql varchar(max) 
set @sql = 'select val as ' + @month + ' from t' 
exec (@sql) 

結果:

September 
----------- 
100