2016-01-06 103 views
0

我想知道:使用INTERVAL而不是使用TIMESTAMP属性fromto时,我有什么优势吗?INTERVAL vs TIMESTAMP(或类似的)

我问,因为我有一个表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

回答

0

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

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

你只需要两个时间戳有一个时间间隔不是四个。

如果将它作为间隔存储,则将失去时间戳记引用。