如何在Oracle中将字符串转换为日期格式

时间:2012-07-25 04:19:40

标签: sql datetime oracle11g timestamp

我的文件包含2011-03-14 11:57:42+08:00之类的字符串,我需要将其存储在DATE数据类型的列中。我使用的是Oracle 11g。

我尝试了TO_DATE功能,但它没有用。

任何人都可以帮助我吗?

提前致谢

1 个答案:

答案 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(缩写为月份)不正确)