Oracle вопрос формата отметки времени sqlldr - PullRequest
1 голос
/ 19 марта 2020

У меня проблема с получением sqlldr для импорта файла данных файла DAT в мою таблицу, особенно с полем, которое является отметкой времени.

2018-11-02T20:54:38.000000+0000

Я испробовал все виды комбинаций в моем управляю файлом и хожу по кругу. Кто-нибудь знает, что следует использовать в моем контрольном файле для этого вышеуказанного формата отметки времени?

Для справки, это то, что я пытался совсем недавно:

load data
infile 'feed.dat'
into table cust_acct
fields terminated by "|" 
( ...
  updateddatetime TIMESTAMP "YYYY-MM-DD-HH24.MI.SS", 
...)

1 Ответ

2 голосов
/ 19 марта 2020

Дата 2018-11-02T20:54:38.000000+0000 имеет компонент часового пояса, поэтому вы хотите TIMESTAMP WITH TIME ZONE тип данных , и у вас есть 6 дробных секундных цифр, поэтому ваш тип данных должен иметь точность 6.

В модели формата DateTime вы можете использовать двойные кавычки для обозначения литеральной строки, а в sqlldr вы можете экранировать двойные кавычки с обратным слэ sh:

updateddatetime TIMESTAMP(6) WITH TIME ZONE "YYYY-MM-DD\"T\"HH24:MI:SS.FF6TZR", 

или

updateddatetime TIMESTAMP(6) WITH TIME ZONE "YYYY-MM-DD\"T\"HH24:MI:SS.FF6TZHTZM", 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...