On Tue, 2022-03-15 at 12:54 +0530, Prabhat Sahu wrote:
> Kindly check the below scenario with INTERVAL datatype.
>
> postgres=# select interval '01 20:59:59' + interval '00 05:00:01' as interval;
> interval
> ----------------
> 1 day 26:00:00
> (1 row)
>
> Any operation with INTERVAL data, We are changing the interval values as
> "60 sec" as "next minute"
> "60 min" as "next hour"
> Similarly can't we consider "24 Hours" for "next day" ?
> Is there any specific purpose we are holding the hours as an increasing number beyond 24 hours also?
>
> But when we are dealing with TIMESTAMP with INTERVAL values it's considered the "24 Hours" for "next day".
>
> postgres=# select timestamp '01-MAR-22 20:59:59' + interval '00 05:00:01' as interval;
> interval
> ---------------------
> 2022-03-02 02:00:00
> (1 row)
The case is different with days:
test=> SELECT TIMESTAMPTZ '2022-03-26 20:00:00 Europe/Vienna' + INTERVAL '12 hours' + INTERVAL '12 hours';
?column?
════════════════════════
2022-03-27 21:00:00+02
(1 row)
test=> SELECT TIMESTAMPTZ '2022-03-26 20:00:00 Europe/Vienna' + INTERVAL '1 day';
?column?
════════════════════════
2022-03-27 20:00:00+02
(1 row)
Yours,
Laurenz Albe