如何使 db2 Load 将无效值加载为 null 而不是 odlf 拒绝整个记录

how to make db2 Load load invalid value as null instead odlf reject whole record

我正在使用 DB2 加载实用程序将数据文件加载到 table,并且有一列日期。在数据文件中,它的格式是 yyyymmdd,对于空值,它是 00000000。我在 "modified by " 之后指定了日期格式,对于具有有效日期的记录,它加载 perfecrty,但它拒绝日期列中具有 00000000 的所有记录。我不想拒绝那些记录,但要加载它们并在日期列中设置 null,我该如何实现?

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.