как сделать db2 Load загрузить недопустимое значение как ноль вместо odlf отклонить всю запись - PullRequest
0 голосов
/ 26 октября 2018

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

1 Ответ

0 голосов
/ 26 октября 2018

LOAD не имеет возможности изменить способ представления значений NULL во входном файле. Одним из вариантов является сгенерированный столбец

db2 "create table d(i int, d generated always as (case when i > 0 then DATE(TO_DATE(i,'YYYYMMDD')) END)) organize by row"
echo 00000000 > d.in
echo 20180101 >> d.in
load from d.in of del replace into d nonrecoverable
db2 "select * from d"

дает

I           D         
----------- ----------
          0 -         
   20180101 01/01/2018

  2 record(s) selected.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...