【问题标题】:Error of importing data from txt file to IBM netezza SQL database due to date format由于日期格式,将数据从 txt 文件导入 IBM netezza SQL 数据库时出错
【发布时间】:2015-10-29 12:42:23
【问题描述】:

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

有什么办法可以让我只在上传时将数据时间转换为日期。

  1. 下面是一行数据的文件格式-

AS_OF_DATE|ID
2015 年 10 月 1 日 00:00:00|40

  1. 在我用来上传的 Netezza 查询下方

插入 LND_FINANCE_CUSTOMER (AS_OF_DATE,ID)

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

使用 ( 报价双倍 分隔符“|” 最大错误 4 日期样式 MDY 日期标记'/' 最大 0 Y2BASE 2000 内部编码 远程 ODBC ESCAPECHAR '\');

  1. 0 由于日期格式,正在插入行。如果在文本文件中我手动将日期时间格式更改为仅日期。那么它工作正常。

【问题讨论】:

  • 你说的query ans文件格式在哪里
  • Netezza 上 LND_FINANCE_CUSTOMER 表中的 AS_OF_DATE 列是否定义为 DATE 或 TIMESTAMP?

标签: database date-format netezza


【解决方案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 '\');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多