2011-03-15 140 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