Re: Formatting problems with negative intervals, TO_CHAR

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Formatting problems with negative intervals, TO_CHAR
Date: 2004-06-06 22:40:56
Message-ID: 21474.1086561656@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Jeff Boes <jboes(at)qtm(dot)net> writes:
> This seems ... well, counter-intuitive at least:
> (using Pg 7.4.1)

> # select to_char('4 minutes'::interval -
> '5 minutes 30 seconds'::interval, 'mi:ss');

> to_char
> ---------
> -1:-3
> (1 row)

> Why is the trailing zero lost? Why are there two minus signs?

> I would expect '-1:30'.

Yeah, me too. The underlying interval value seems right:

regression=# select '4 minutes'::interval - '5 minutes 30 seconds'::interval;
?column?
-----------
-00:01:30
(1 row)

so I think this is a to_char() bug. Possibly it's platform-dependent
--- the roundoff behavior for division with a negative input varies
across machines. However I do see the bug on HPUX 10.20 with CVS tip.

> Likewise,

> # select to_char('4 minutes'::interval -
> '4 minutes 30 seconds'::interval, 'mi:ss');

> to_char
> ---------
> 00:-3
> (1 row)

regards, tom lane

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Khairul Azmi 2004-06-07 03:22:53 Re: ERROR: duplicate key violates unique constraint (SOLVED)
Previous Message Tom Lane 2004-06-06 22:37:42 Re: SQL DDL: FOREIGN KEY construct and field mapping: unexpected behavior