如何将字符串解析为日期,当字符串中有字符?

问题描述:

我试图使用TO_DATE解析2015-07-09T12:22:29使用以下日期格式YYYY-MM-DDTHH:MI:SS,但我收回消息,因为日期格式无法识别。如何将字符串解析为日期,当字符串中有字符?

+2

[文件建立链接](http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements004.htm# SQLRF51078)来备份Andy Lester的答案。 –

您必须将T放在双引号中,如YYYY-MM-DD"T"HH:MI:SS

select to_date('2015-07-09T12:22:29', 'YYYY-MM-DD"T"HH:MI:SS') from dual; 

TO_DATE(' 
--------- 
09-JUL-15 

这是relevant documentation。 (谢谢亚历克斯)

请注意日期字符串中的“T”表示它是UTC格式,而不是标准日期。只是忽略“T”字符不会产生正确的日期时间值,因为您没有考虑当地的时区。

退房这个职位的一些附加信息:

Convert timestamp/date time from UTC to EST Oracle SQL