2

tsrange当只有一个间隔处于夏令时并且间隔小于 1 小时时,我在 PostgreSQL 中保存类型值时遇到问题。

例如,我想保存 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 中?

4

1 回答 1

1

输入必须已经“时区化”,然后转换为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")
于 2014-12-13T12:27:09.613 回答