2011-03-25 89 views
1

我在寫一個SQL表達式,並且想使用當前月份作爲列名/標題。在SQL Express中使用表達式結果(例如Month)作爲列名稱

代碼:

Select MONTH(GETDATE()) AS MONTH(GETDATE()) 
FROM SomeTable; 

錯誤:

Error 102: Incorrect syntax near 'GETDATE'.

這是一個學校的項目,我不知道這是否是可能的。如果是,我想可能將該月的數字轉換爲實際的月份名稱。提前致謝。

哦,我正在使用LinqPad測試遠程數據庫和SQL Express服務器(Transact-SQL)上的查詢。

乾杯, 林賽

+0

你爲什麼想返回別名名稱。您可以根據自己的喜好在任意語言的前端用戶界面上設置列標題...... – 2011-03-25 06:39:35

回答

0

我認爲,你不能在列別名使用功能,如果你嘗試,你得到這個錯誤不正確了Syntex「需要ID,QUOTED_ID,字符串或TEXT_LEX」,這意味着別名文本必須被硬編碼。

我會建議您使用前端應用程序將當前月份設置爲標題,而不是依賴後端sql查詢。

+0

她不想在列本身中獲取日期的名稱。她希望它作爲別名 – 2011-03-25 06:43:41

+0

我想使用該表達式(當前月份)的值作爲列標題本身。例如。遊行。當前月份發生變化,因此我無法使用硬編碼值。 – Lifes 2011-03-25 07:03:28

+0

好吧,我認爲這是一個很遠的鏡頭......在詢問中沒有任何傷害。感謝所有的答覆。我只是將它編碼在業務邏輯中。 – Lifes 2011-03-26 05:48:08

0

的別名,那麼計算列不應包含任何功能 - 只是文字:

SELECT 
    MONTH(GETDATE()) AS 'Month' 
FROM 
    dbo.SomeTable 
相關問題