2012-11-08 22 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