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