Вставка значения года до нашей эры из простого файла в базу данных Oracle - PullRequest
0 голосов
/ 29 мая 2018

Я использую sqlldr для передачи данных из плоского файла (.txt) в oracle db.Что касается дат, я использую "to_date(:born, 'DDMMYY')", где born это столбец.Как я могу указать год до нашей эры (например, 01-01-1000BC) в моем плоском файле, чтобы его можно было перенести в мою таблицу оракулов?

1 Ответ

0 голосов
/ 29 мая 2018

Вы можете сделать так, чтобы строка в текстовом файле всегда имела суффикс BC или AD (вы не можете опустить AD в этом сценарии), например, 01011000BC и 01011990AD, а затем в вашем контрольном файле:

"to_date(:born, 'DDMMYYYYBC')"

Или вы можете сделать то же самое с опцией знака, если хотите изменить только отрицательные значения, например, 0101-1000 и 19900101, а затем в контрольном файле:

"to_date(:born, 'DDMMSYYYY')"

что выглядит довольно странно для значения BC.

Поскольку вы, кажется, управляете форматом, было бы проще и удобнее читать элементы в порядке ГГГГММДД, например, -10001231 и 19901231 (изменение датчтобы помочь различать месяцы и дни в строке), а затем:

"to_date(:born, 'SYYYYMMDD')"

, что, по сути, и было предложено @xQbert.

...