2012-11-08 25 views
1

我可以使用一些幫助從表示日期的文本字符串中獲取年份季度。我有一個字符串,比如'20121230',代表12/30/2012。不知何故,我需要將這個價值轉換成'4Q12'。我得到轉換20121230爲日後卡:從日期導出文本字符串

CONVERT(date,datestringfield,111) 

我需要幫助,從該日起推導季度和年度,然後季度及全年轉換爲字符串格式4Q12。任何幫助將不勝感激

+0

你是否使用SQL Server ?,這個版本? – Lamak

回答

2

如果您使用的是SQL Server,那麼datestringfield的特定格式可以用作明確的日期。所以,你可以這樣做:

SELECT DATENAME(QUARTER,datestringfield) + 'Q' + 
     RIGHT('00'+DATENAME(YEAR,datestringfield),2) 
+0

謝謝,但我收到一條錯誤消息,內容爲「算術溢出錯誤將表達式轉換爲數據類型日期時間。」 – dp3

+1

@Deep然後你有不可能的日期。當你發佈你的問題時,你的值應該是'YYYYMMDD'格式,但是如果你得到這個錯誤,你可能會有'YYYDDMM'(''20122501'')這樣的值,或者錯誤的日期類似'20120230' ' – Lamak

+0

這是可能的,謝謝! – dp3