Re: BUG #17496: to_char function resets if interval exceeds 23 hours 59 minutes - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: BUG #17496: to_char function resets if interval exceeds 23 hours 59 minutes
Date
Msg-id YtCRTLYoAgGcIenX@momjian.us
Whole thread Raw
In response to Re: BUG #17496: to_char function resets if interval exceeds 23 hours 59 minutes  (Nathan Bossart <nathandbossart@gmail.com>)
List pgsql-bugs
On Tue, May 24, 2022 at 01:11:45PM -0700, Nathan Bossart wrote:
> The documentation for this function indicates HH24 can output hour values
> higher than 23∴
> 
>         <function>to_char(interval)</function> formats <literal>HH</literal> and
>         <literal>HH12</literal> as shown on a 12-hour clock, for example zero hours
>         and 36 hours both output as <literal>12</literal>, while <literal>HH24</literal>
>         outputs the full hour value, which can exceed 23 in
>         an <type>interval</type> value.
> 
> I see different results depending on how I define the interval:
> 
>     postgres=# select to_char(INTERVAL '1 day', 'HH24:MI');
>      to_char 
>     ---------
>      00:00
>     (1 row)
> 
>     postgres=# select to_char(INTERVAL '24h', 'HH24:MI');
>      to_char 
>     ---------
>      24:00
>     (1 row)
> 
> The example provided is more like the former (no hour value), because
> "timestamp - timestamp" converts 24-hour intervals into days.  In general,
> I agree that this probably not a bug.  You probably want to ask to_char()
> to display the days as well..

Well, if we did that then this would be odd:

    SELECT to_char(INTERVAL '2 day', 'DD HH24:MI');
     to_char
    ----------
     02 00:00

or this:

    SELECT to_char(INTERVAL '2 day 4 hours', 'DD HH24:MI');
     to_char
    ----------
     02 04:00
    
-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Indecision is a decision.  Inaction is an action.  Mark Batterson




pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #17550: inet type doesn't accept alternate notations of ipv4 addresses
Next
From: Bruce Momjian
Date:
Subject: Re: BUG #17434: CREATE/DROP DATABASE can be executed in the same transaction with other commands