【问题标题】:TPT load data type errorTPT 加载数据类型错误
【发布时间】:2017-07-03 14:37:31
【问题描述】:

我正在尝试运行 TPT 加载,但我的日期数据类型出现错误。有人可以帮我正确的语法吗?

DEFINE JOB MOVE_DATA
DESCRIPTION 'MOVE DATA'
(DEFINE SCHEMA SAMPLE_SCHEMA DESCRIPTION 'SAMPLE SCHEMA'
(     
      CUST DECIMAL(15,0) ,
      START_DATE DATE FORMAT 'YYYY-MM-DD' 
);

错误:TPT_INFRA:在“DATE”缺少 { PERIOD_ANSIDATE_BIGINT_BLOB_ BYTE_ BYTEINT_ CHARACTER_ CHAR_ CHARACTERS_ CHARS_ CLOB_ DEC_ DECIMAL_ FLOAT_ GRAPHIC_ INT_ INDATE_ INTEGER_ INTERVAL_ LONG_ NUMBER_ NUMERIC_ SMALLINT_ TIME_ TIMESTAMP_ VARBYTE_ VARCHAR_ VARDATE_ 规则中的 VARGRAPHIC_ XML_ }:列数据类型

【问题讨论】:

    标签: teradata


    【解决方案1】:

    DATE 不是 TPT 中 SCHEMA 支持的字段类型。您可以使用VARCHAR(10)。例如:

    START_DATE VARCHAR(10)
    

    或者如果您需要在 TPT ETL 中更改格式,您可以使用VARDATE()。例如:

    START_DATE VARDATE(10) FORMATIN ('YYYY-MM-DD') FORMATOUT ('MM/DD/YYYY')
    

    【讨论】:

    • 感谢您的帮助!我还发现 ANSIDATE 可以解决这个问题。
    • ANSIDATE!这很酷。我还没有尝试过。几乎我们所有的 ETL 都只是将每个字段都粘贴在 VARCHAR 中。我最近才开始使用 VARDATE() 来调整传入的日期格式。这对于没有前导 0 的 m/d/yyyy 格式非常方便。
    猜你喜欢
    • 2015-01-18
    • 2020-03-11
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 2020-09-05
    • 2017-11-19
    • 1970-01-01
    相关资源
    最近更新 更多