我的文件包含2011-03-14 11:57:42+08:00
之类的字符串,我需要将其存储在DATE
数据类型的列中。我使用的是Oracle 11g。
我尝试了TO_DATE
功能,但它没有用。
任何人都可以帮助我吗?
提前致谢
答案 0 :(得分:1)
您必须使用函数TO_TIMESTAMP_TZ
来正确解析时区:
SELECT CAST(TO_TIMESTAMP_TZ('2011-03-14 11:57:42+08:00', 'YYYY-MM-DD HH24:MI:SS+TZH:TZM') AS DATE) AS my_date
FROM DUAL
;
(作为评论中示例的旁注:不需要TO_CHAR
,缺少引号,格式模型MON
(缩写为月份)不正确)