Summing of INTERVAL returns incorrect number of days and hours

From: Milan Novotny <xnovm149(at)gmail(dot)com>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Summing of INTERVAL returns incorrect number of days and hours
Date: 2025-04-01 13:13:08
Message-ID: CACZpPHoN2wHXDushnJqJy3Aus-MzYq_V3WjB9KaU8ATjXdrQeg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hello,

SELECT

SUM(upper(timestamp_range) - lower(timestamp_range)) AS sum_range_interval

FROM

(

VALUES

('["2021-09-13 10:53:03.668","2022-08-28 00:19:16.212"]'::tsrange),

('["2022-08-29 00:00:03.088","2023-04-06 11:39:00.072"]'::tsrange),

('["2023-04-06 11:39:03.581","2023-04-19 23:59:59.768"]'::tsrange),

('["2022-08-28 00:19:28.739","2022-08-28 23:59:59.829"]'::tsrange)

) AS x(timestamp_range);

/*

sum_range_interval |

---------------------+

581 days 61:06:36.805|

*/

--> should be 583 days ..

SELECT

upper(timestamp_range) - lower(timestamp_range) AS range_interval

FROM

(

VALUES

('["2021-09-13 10:53:03.668","2022-08-28 00:19:16.212"]'::tsrange),

('["2022-08-29 00:00:03.088","2023-04-06 11:39:00.072"]'::tsrange),

('["2023-04-06 11:39:03.581","2023-04-19 23:59:59.768"]'::tsrange),

('["2022-08-28 00:19:28.739","2022-08-28 23:59:59.829"]'::tsrange)

) AS x(timestamp_range);

/*

range_interval |

---------------------+

348 days 13:26:12.544|

220 days 11:38:56.984|

13 days 12:20:56.187|

23:40:31.09|

*/

SELECT

SUM(range_interval) AS sum_range_interval

FROM

(

VALUES

('348 days 13:26:12.544'::INTERVAL),

('220 days 11:38:56.984'::INTERVAL),

('13 days 12:20:56.187'::INTERVAL),

('23:40:31.09'::INTERVAL)

) AS x(range_interval);

/*

sum_range_interval |

---------------------+

581 days 61:06:36.805|

*/

--> same

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2025-04-01 14:19:36 Re: Summing of INTERVAL returns incorrect number of days and hours
Previous Message Christoph Berg 2025-04-01 10:46:02 Re: Self referential foreign keys in partitioned table not working as expected