Re: BUG #2056: to_char no long takes time as input?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Nick Addington <adding(at)math(dot)wisc(dot)edu>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #2056: to_char no long takes time as input?
Date: 2005-11-23 21:22:34
Message-ID: 26860.1132780954@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-bugspgsql-patches

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> I see your issue with HH/HH24, but I wanted this to work:

> test=> select to_char('14 hours'::interval, 'HH');
> to_char
> ---------
> 14
> (1 row)

> With the HH/HH24 change that is going to return 2. Do interval folks
> know they would have to use HH24 for intervals?

Dunno if they know it, but they always had to do it that way before 8.1,
so it's not a change to require it. I get this in everything back to
7.2:

regression=# select to_char('14 hours'::interval, 'HH');
to_char
---------
02
(1 row)

regression=# select to_char('14 hours'::interval, 'HH24');
to_char
---------
14
(1 row)

and I don't see anything especially wrong with that behavior, as long as
it's documented.

> Should we subtract 12 only if the time is < 24. That also seems
> strange. Also, a zero hour interval to HH would return 12, not 0.

Offhand I'd vote for making the HH code use a "mod 12" calculation,
and making AM/PM depend on the value "mod 24". This gives at least a
slightly sane behavior for intervals > 24 hours.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2005-11-24 04:11:34 Re: Fwd: Bug#338645: postgresql-contrib-8.1: dbf2pg silently
Previous Message Bruce Momjian 2005-11-23 21:04:29 Re: BUG #2056: to_char no long takes time as input?

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2005-11-24 04:40:55 Re: [PATCHES] drop database if exists
Previous Message Bruce Momjian 2005-11-23 21:04:29 Re: BUG #2056: to_char no long takes time as input?