2012-02-14 20 views
0

使用TSQL,如何返回格式類似於「2012年2月7日」的日期?如何使用TSQL返回類似於2012年2月7日的日期格式?

這個返回的日子:

SELECT DATEPART(d, getdate()) 

這個返回年份:

SELECT DATEPART(yyyy, getdate()) 

如何才能返回月份的名字嗎?

感謝,

+4

爲什麼你需要?一般建議分開數據和表示。以原生類型返回Date(沒有格式,使用更少的字節,並且易於操作)並在客戶端中設置格式。 – MatBailie 2012-02-14 15:59:44

+0

我問了一個問題,不用擔心爲什麼。它涉及從一個數據庫導入另一個數據庫。 – 2012-02-14 16:04:41

+3

「爲什麼」通常很重要。通常問題會問到答案的後面會導致你未來的問題。數據和表示的分離(如果可能,通常是這樣)給出了很大的靈活性。以字符串形式傳遞日期會導致意外行爲(本地化,設置等),並使調試變得更加困難。我只是試圖變得更有幫助,而不是幫助你解決我過去不得不面對的一個潛在錯誤;)* [我沒有投下贊成票,並且會說這是非常不應該的。] * – MatBailie 2012-02-14 16:07:29

回答

5

下面將爲你像 「14月-2012」 的格式爲:

SELECT REPLACE(CONVERT(VARCHAR(11), GETDATE(), 106), ' ', '-') AS [dd-Mon-YYYY] 

如果你只是想月份名稱,你可以這樣做:

select DATENAME(m, getdate()) 
3
SELECT CONVERT(VARCHAR,GETDATE(),106) 
相關問題