Oracle中“2015-10-01T12:00:00.000-03:00”的格式是什么?

时间:2017-09-29 22:26:10

标签: sql oracle

我想在Oracle中将'2015-10-01T12:00:00.000-03:00'varchar转换为日期,如下所示:

select 
    to_date('2010-12-14:09:56:53', 'YYYY-MM-DD:HH24:MI:SS') - 
    to_date('2010-12-14:09:56:46', 'YYYY-MM-DD:HH24:MI:SS') 
from dual;

但是对于那种格式。

如果问题不清楚,请告诉我为什么,我会提供更多信息,不要否定我,我是菜鸟:)。 Obs:我使用的是Oracle Database 11g企业版

2 个答案:

答案 0 :(得分:4)

使用TO_TIMESTAMP_TZ,如果您想将其转换为日期,则可以将其转换为一个时区(通常为UTC),然后CAST将其转换为日期:

SELECT CAST(
         TO_TIMESTAMP_TZ(
           '2015-10-01T12:00:00.000-03:00',
           'YYYY-MM-DD"T"HH24:MI:SS.FF3TZR'
         )
         AT TIME ZONE 'UTC'
         AS DATE
       )
FROM   DUAL;

答案 1 :(得分:-1)

试试这个:

select to_timestamp('2015-10-01T12:00:00.000-03:00', 'YYYY-MM-DD"T"HH24:MI:SS.ff3"Z"')
from dual;
相关问题