DST过渡值的tsrange范围错误

时间:2014-12-12 14:11:31

标签: postgresql dst range-query

我在PostgreSQL中保存tsrange类型的值时遇到问题,因为只有一个时间间隔是夏令时,间隔时间不到1小时。

例如,我想保存45分钟的长时间范围["2013-03-09 01:30:00","2013-03-09 01:15:00"],但我得到的是error range lower bound must be less than or equal to range upper bound

有没有办法使用tsrange类型将这些时间范围保存到PostgreSQL中?

1 个答案:

答案 0 :(得分:1)

输入必须已经“timezoned”,然后转换为timestamp without time zone

select tsrange(
    ('2013-02-17 01:30:00'::timestamp at time zone 'BRST')::timestamp,
    ('2013-02-17 01:15:00'::timestamp at time zone 'BRT')::timestamp
);
                    tsrange                    
-----------------------------------------------
 ["2013-02-17 00:30:00","2013-02-17 01:15:00")