我在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中?
答案 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")