2011-03-15 144 views
0

我试着输入一些数据(使用的Oracle SQL Developer)从.csv文件,但我得到一个错误: -从CSV文件导入数据

Verifying if the Date columns have date formats FAILED Date columns ...列名

在我.csv文件中的日期是:

2008-01-09 15:59:23.187 

我试图给这个格式,但它不工作(在数据导入向导)

yyyy-mm-dd HH24:mi:ss.ff3 

我想弄清楚一个期待一些帮助的解决方案。

谢谢。

回答

3

我无法测试,但现在我正在猜想:在格式不是DATE格式,而是TIMESTAMP格式。考虑:

SQL> select to_date('2008-01-09 15:59:23.187', 
    2     'yyyy-mm-dd HH24:mi:ss.ff3') from dual; 

ORA-01821: date format not recognized 

SQL> select to_timestamp('2008-01-09 15:59:23.187', 
    2      'yyyy-mm-dd HH24:mi:ss.ff3') ts from dual; 

TS 
------------------------------------------------- 
09/01/08 15:59:23,187000000 

如果这是SQL Dev遇到的同一错误,则可以在时间戳列中导入。

+0

请,我有同样的问题,而且我确实想导入到时间戳列。但是,如何导入时间戳列?我如何指定格式? – 2012-08-31 16:58:57

1

Oracle Date的只能存储到秒,您将需要使用时间戳。

使用时间戳正常工作(日期失败的错误“小数秒格式元素不允许日期格式”)

create table test2(cola number(1), colB varchar2(5), colD timestamp); 

csv file: 
colA, colB, colD 
"1","a","2008-01-09 :15:59:23.187" 
"2","b","2009-02-10 :16:48:32.188" 
"3","c","2012-03-11 :17:37:41.189" 

"Import Data" in SQL Developer 3.0.03 using colD format of yyyy-mm-dd HH24:mi:ss.ff3 
select * from test2; 
COLA     COLB COLD      
---------------------- ----- ------------------------- 
1      a  09-JAN-08 03.59.23.187000000 PM 
2      b  10-FEB-09 04.48.32.188000000 PM 
3      c  11-MAR-12 05.37.41.189000000 PM