SQL Developer:上传日期格式

时间:2012-05-01 20:39:18

标签: oracle plsql

我正在使用Oracle SQL Developer 3.0.03。我正在尝试将Excel文件上传到Oracle数据表。我收到错误的日期。数据库中的列是时间戳,我不知道将什么放入“数据加载向导”的日期格式。如果我使用以下格式,我会得到'第1行GDK-05016的插入失败:找到重复的月份。

dd-mom-yy hh.mm.ss

知道正确的格式应该是什么?

在db中,日期列如下所示:01-MAY-12 01.16.50.000000000PM

2 个答案:

答案 0 :(得分:3)

分钟代码为mi而非mm

(我认为mom只是一个拼写错误,实际上正在阅读mon

有关所有支持的格式模型的完整列表,请参阅手册:
http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements004.htm#CDEHIFJA

答案 1 :(得分:0)

Excel“零”日期是1月0日(是,零),1900年。由于Oracle无法处理一个月内的“零”日,您需要从Excel值中减去1;因此,以下内容可以让您接近您想要的内容:

SELECT CAST(TO_DATE('01-JAN-1900 00:00:00', 'DD-MON-YYYY HH24:MI:SS') AS TIMESTAMP) +
           NUMTODSINTERVAL(41017.6361109954 - 1, 'DAY')
  FROM DUAL

就“如何导入它”而言,没有Oracle日期格式,我知道这样做。最简单的方法是将值导入NUMBER列,然后运行脚本进行日期转换。

分享并享受。