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