Импорт данных из CSV-файла - PullRequest
0 голосов
/ 15 марта 2011

Я пытаюсь импортировать некоторые данные (используя oracle sql developer) из файла .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

Я пытаюсь найти решение, ожидающее помощи.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 15 марта 2011

Я не могу сейчас тестировать, но я предполагаю: это не формат 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, вы можете импортировать ее в столбец отметки времени.

1 голос
/ 15 марта 2011

Oracle Date можно хранить только в секундах, вам нужно будет использовать временную метку.

Использование временной метки работает нормально (дата завершается ошибкой с ошибкой элемента формата Fractional секунд неразрешено в формате 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 
...