0
這裏有很多關於命名列變量的問題,我不認爲這是重複的,因爲我想使用計算。計算日期作爲列名SQL Server 2008
我想在上個月後列出我的專欄。我希望這個工作:
SELECT isnull(sum(CASE when datepart(mm,rc.datetime) = DATEPART(MONTH, GETDATE()) -1 then 1 else null end),0) AS datename(MM, dateadd(MM, -1, getdate()))
或可讀性:
... AS datename(MM, dateadd(MM, -1, getdate()))
但是這不,我得到一個不正確的語法錯誤。這是可以實現的嗎?預先感謝您提供的任何幫助。
只能用動態SQL – Squirrel
更改列名動態將會引起許多挑戰之路。也許更好地理解你真正想要在這裏做什麼,我們可以幫助找到更好的解決方案。否則,已發佈的動態sql選項應該可以正常工作。 –
另外一個意見是我更喜歡避免日期部分的縮寫,但如果您打算使用它們,則應該保持一致。在一些地方你使用MM和其他月份。 http://sqlblog.com/blogs/aaron_bertrand/archive/2011/09/20/bad-habits-to-kick-using-shorthand-with-date-time-operations.aspx –