0

我正在通过命名管道读取 CSV 文件。在 CSV 文件中,field2 列是空白的,需要将其作为 NULL 插入到表列中。表列是整数类型,但是当我尝试运行摄取时

我收到一条错误消息,提示“field2 无法转换为值类型:整数”。

这是我下面的代码

mkfifo mypipe
tail -n +2 myfile.csv > mypipe &

db2 "INGEST FROM FILE mypipe 
   FORMAT DELIMITED 
   (
      $field1 CHAR(9),
      $field2 INTEGER EXTERNAL,
      $field3 CHAR(32)
   )
   INSERT INTO my_table 
      VALUES($field1, $field2, $field3)"

在上面的代码中,$field2 将为空白。在 my_table 中,当 csv 中的字段为空白时,$field2 值不会作为 NULL 插入。

示例输入 csv 数据如下所示

Subject_Name,Student_ID,STATUS
Maths,,COMPLETED
Physics,,PENDING
Computers,,PENDING

我希望在下表中摄取数据

Subject_Name|Student_id|STATUS   |
------------|----------|---------|
Maths       |NULL      |COMPLETED|
------------|----------|---------|
Physics     |NULL      |PENDING  |
------------|----------|---------|
Computers   |NULL      |PENDING  |
------------|----------|---------|

任何人都可以提出解决此问题的方法吗?

4

0 回答 0