【问题标题】:DB2 ingest of decimal data from csvDB2 从 csv 摄取十进制数据
【发布时间】:2020-11-27 13:48:17
【问题描述】:

我正在寻找一种 db2 方法来导入 .csv 文件 (IMPORT.CSV),如下所示:

2020-01-01;1.234.567,12345

在一个 DB2 表 MY_TABLE 中:

CREATE TABLE
    MY_TABLE
    (
        DTRIF DATE,
        SALDO DECIMAL(18,5)
    );

我尝试了“INGEST”方法:

INGEST FROM FILE IMPORT.CSV FORMAT DELIMITED
  (
      $data date,
      $decimale char(18)
   ) 
   INSERT INTO MY_TABLE(dtrif,saldo)
      VALUES( 
        $data, 
        CAST(REPLACE(REPLACE($decimale, '.', ''), ',', '.') AS DECIMAL(18,5))
   );

但结果是:

    DTRIF      SALDO
2020-01-01 12345.00000 

为什么?

【问题讨论】:

标签: db2 import-from-csv ingest


【解决方案1】:

以下内容适用于我(可能有其他变体)与 Db2-LUW v11.1.4.5:

INGEST FROM FILE ... FORMAT DELIMITED BY ';'
  (
      $data date,
      $decimale char
  )
   INSERT INTO ... (dtrif,saldo)
      VALUES( $data
            , CAST(REPLACE(REPLACE($decimale, '.', ''), ',', '.') AS DECIMAL(18,5)));

【讨论】:

    猜你喜欢
    • 2014-02-18
    • 2018-10-03
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多