由于日期格式,将数据从txt文件导入IBM netezza SQL数据库时出错

时间:2015-10-29 12:42:23

标签: database date-format netezza

我需要将文本文件中的数据上传到 Netezza 表。它不起作用,因为Netezza表和文本文件之间的日期格式不同。根据Netezza表日期格式,该格式应仅为日期,但在文本文件中为datetime。

有没有办法,所以我只能在上传时将数据时间转换为日期。

  1. 以下是包含一行数据的文件格式 -
  2. AS_OF_DATE | ID
    10/01/2015 00:00:00 | 40

    1. 我正在使用上传
    2. 的Netezza查询

      INSERT INTO LND_FINANCE_CUSTOMER (AS_OF_DATE,ID)

      选择 * 来自外部'D:123.txt'

      使用( QUOTEDVALUE DOUBLE DELIMITER'|' MAXERRORS 4 DATESTYLE MDY DATEDELIM'/' MAXROWS 0 Y2BASE 2000 编码内部 REMOTESOURCE ODBC ESCAPECHAR'\');

      1. 0因为日期格式而插入行。如果在文本文件中我手动将日期时间格式更改为仅日期。然后它工作正常。

1 个答案:

答案 0 :(得分:1)

如果强制文件规范加时间戳,那么加载应该可以正常工作。它将回滚到插入LND_FINANCE_CUSTOMER的日期。请参阅下面的代码:

    INSERT INTO LND_FINANCE_CUSTOMER (AS_OF_DATE,ID)

    SELECT * FROM EXTERNAL 'D:\123.txt'
(AS_OF_DATE  timestamp
        ,ID  integer)    
    USING ( QUOTEDVALUE DOUBLE DELIMITER '|' MAXERRORS 4 DATESTYLE MDY DATEDELIM '/' MAXROWS 0 Y2BASE 2000 ENCODING internal REMOTESOURCE ODBC ESCAPECHAR '\');