0

我有一个来自第 3 方的 CSV 文件,我想为其创建一个 Postgres 表。有几列带有时间戳样式信息,但精度不同。这是“已发布” 2012-05-07 04:04:05 “reportedtime” 2012-05-12 00:00:00.571395 两个字段的一些示例数据

还有另一个字段是“持续时间”,具有 90 天、0:00:00 之类的数据是否也有 Postgres 数据类型?

我需要使用这些字段创建表的语法是什么:

CREATE TABLE blah ( 发出 ????, 报告时间 ????, 持续时间 ??? );

注意:我已经熟悉这部分:

COPY blah (issued, reportingtime, duration) FROM path to file WITH DELIMITER ',' CSV HEADER;

只是不想在我运行时爆炸,因为存储的数据与表列类型不匹配。

4

1 回答 1

1

使用timestamptzinterval类型(文档)。我一直使用时区感知类型,它在以后的数据操作中提供了更多的自由。

CREATE TABLE blah (
    issued timestamptz,
    reportedtime timestamptz,
    duration interval);

COPY blah FROM stdin;
2012-05-07 04:04:05 2012-05-12 00:00:00.571395  90 days, 0:00:00
\.

SELECT * FROM blah;
于 2012-05-14T11:50:46.773 回答