INTERVAL与TIMESTAMP(或类似)

时间:2016-01-06 18:41:15

标签: postgresql

我想知道:使用INTERVAL而不是使用TIMESTAMP属性fromto时,我有什么优势吗?

我在问,因为我有一个表time_period,它应该是一种在一天和/或一小时级别存储时间间隔信息的抽象方式:

CREATE TABLE time_period (

    -- PRIMARY KEY

    id BIGSERIAL PRIMARY KEY,

    -- ATTRIBUTES

    valid_for_days INT NOT NULL,

    day_from TIMESTAMP WITH TIME ZONE NOT NULL, 
    day_to TIMESTAMP WITH TIME ZONE NOT NULL,

    time_from TIMESTAMP WITH TIME ZONE NOT NULL,
    time_to TIMESTAMP WITH TIME ZONE NOT NULL
);

我最好在这里使用INTERVAL吗?

1 个答案:

答案 0 :(得分:0)

两个时间戳之间的差异是间隔:

select now() - '2015-01-01';
         ?column?         
--------------------------
 370 days 18:45:20.312403

您只需要两个时间戳,而不是四个时间间隔。

如果您将其存储为间隔,则会丢失时间戳参考。