将字符串ISO-8601日期转换为oracle的时间戳数据类型
问题描述:
我有一个VARCHAR2类型的ISO-8601日期,如何将该字符串日期转换为oracle数据库中的时间戳?将字符串ISO-8601日期转换为oracle的时间戳数据类型
日期例: “2014-09-12T11:53:06 + 00:00”
也许是像下面这样,但我不知道是什么格式。
SELECT to_timestamp_tz ('2014-09-12T11:53:06+00:00', ????) FROM DUAL
答
日期格式模型元素是listed in the documentation:
SELECT to_timestamp_tz ('2014-09-12T11:53:06+00:00', 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM')
FROM DUAL
TO_TIMESTAMP_TZ('2014-09-12T11:53:06+00:00','YYYY-MM-DD"T"HH24:MI:SSTZH:TZM
---------------------------------------------------------------------------
12-SEP-14 11.53.06.000000000 +00:00
固定T
可以被包括作为字符文字:
可以包括日期格式模型中的这些字符:
- 标点诸如连字符,斜线,逗号,句号和冒号
- 字符文字,用双引号
TZH
是加餐区小时,TZM
是时区分钟。其余的是更常见的模型元素。