OOps, I got it bad: On Thu, Sep 12, 2019 at 1:50 PM Francisco Olarte <folarte@xxxxxxxxxxxxxx> wrote: > timestamp / interval arithmetic is really a hairy thing. ( As shown > below, start point carefully taken to avoid crossing dsts ) It was chosen to FORCE, not AVOID, crossing dst. > cdrs=# select x, '2019.11.20 20:00:00'::timestamptz + x::interval as > sum from ( values ('5 mons 10 days 10:00:00'),('163 days > 11:00:00'),('3923:00:00')) as v(x); > x | sum > -------------------------+------------------------ > 5 mons 10 days 10:00:00 | 2020-05-01 06:00:00+02 > 163 days 11:00:00 | 2020-05-02 07:00:00+02 > 3923:00:00 | 2020-05-02 08:00:00+02 > (3 rows) cdrs=# select x, '2019.11.20 20:00:00'::timestamptz + x::interval as sum from ( values ('0'),('5 mons 10 days 10:00:00'),('163 days 11:00:00'),('3923:00:00')) as v(x); x | sum -------------------------+------------------------ 0 | 2019-11-20 20:00:00+01 5 mons 10 days 10:00:00 | 2020-05-01 06:00:00+02 163 days 11:00:00 | 2020-05-02 07:00:00+02 3923:00:00 | 2020-05-02 08:00:00+02 (4 rows) Subject is just complex enough I should avoid making this typos! Apologies, my fault, bad proof reading, hungry.... Francisco Olarte.