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

时间:2018-10-26 04:06:02

标签: db2 load

我正在使用DB2加载实用程序将数据文件加载到表中,并且有一列日期。在数据文件中,其格式为yyyymmdd,对于null值,其格式为00000000。我在“修饰符”之后指定了dateformat,并为具有有效日期的记录加载了性能,但它拒绝了date列中所有具有00000000的记录。我不想拒绝这些记录,但是要加载它们并在date列中设置为null,我该如何实现?

1 个答案:

答案 0 :(得分:1)

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.