Vertica 正在将数据从文件加载到 table

Vertica Loading data from file to table

我想将数据从文件加载到垂直 table。我在文件中接收的数据格式为 02-APR-17 11.06.31.000000 AM +00:00 但列的数据类型为 timestamp(0) 并且预期的输出格式为 4/2/2017 12:06:31.000000

如果这是你的 table:

    CREATE TABLE foo (
      id INT NOT NULL
    , ts TIMESTAMP(0)
    , nm VARCHAR(32)
    );

这是你的数据:

    42;02-APR-17 11.06.31.000000 AM +00:00;Arthur Dent
    43;14-APR-17 11.06.31.000000 PM +00:00;Ford Prefect
    44;15-APR-17 09.06.31.000000 PM +00:00;Zaphod Beeblebrox

然后,尝试使用 FILLER 和推导的 COPY 命令:

    COPY foo (
      id
    , ts_buf FILLER VARCHAR(40)
    , ts AS TO_TIMESTAMP(ts_buf,'DD-MON-YY HH24:MI:SS.MS AM') AT TIME ZONE 'CST'
    , nm
    )
    FROM '/home/dbadmin/data/foo.txt'
    DELIMITER ';'
    DIRECT
    ;

.. 这是 table 你得到的:

SELECT * FROM foo;

id|ts                 |nm
42|2017-04-02 11:06:31|Arthur Dent
43|2017-04-14 23:06:31|Ford Prefect
44|2017-04-15 21:06:31|Zaphod Beeblebrox

这是你想要的吗?

干杯 - Marco the Sane