Sql server 从日期派生文本字符串

Sql server 从日期派生文本字符串,sql-server,tsql,Sql Server,Tsql,我需要一些帮助,从表示日期的文本字符串中导出一个季度。我有一个字符串,比如'20121230',代表12/30/2012。不知何故,我需要将该值转换为“4Q12”。在将20121230转换为日期后,我陷入了困境: CONVERT(date,datestringfield,111) 我需要帮助从这个日期导出季度和年份,然后将季度和年份转换为字符串格式4Q12。如果您使用的是SQL Server,则可以明确地将datestringfield的特定格式用作日期,我们将不胜感激。因此,您可以: SEL

我需要一些帮助,从表示日期的文本字符串中导出一个季度。我有一个字符串,比如'20121230',代表12/30/2012。不知何故,我需要将该值转换为“4Q12”。在将20121230转换为日期后,我陷入了困境:

CONVERT(date,datestringfield,111)

我需要帮助从这个日期导出季度和年份,然后将季度和年份转换为字符串格式4Q12。如果您使用的是SQL Server,则可以明确地将
datestringfield
的特定格式用作日期,我们将不胜感激。因此,您可以:

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

您使用的是SQL Server?版本吗?谢谢,但是我收到一个错误,读到“算术溢出错误将表达式转换为数据类型datetime”。@Deep那么您就有不可能的日期了。当您在问题中发帖时,您的值的格式应该是
YYYYMMDD
,但如果您出现该错误,您可能会有
YYYDDMM
'20122501'
)之类的值,或者只有日期错误的值,如
'20120230'