Re: Formatting problems with negative intervals, TO_CHAR - Mailing list pgsql-sql

From Tom Lane
Subject Re: Formatting problems with negative intervals, TO_CHAR
Date
Msg-id 21474.1086561656@sss.pgh.pa.us
Whole thread Raw
In response to Formatting problems with negative intervals, TO_CHAR  (Jeff Boes <jboes@qtm.net>)
Responses Re: Formatting problems with negative intervals, TO_CHAR
List pgsql-sql
Jeff Boes <jboes@qtm.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


pgsql-sql by date:

Previous
From: nzanella@cs.mun.ca (Neil Zanella)
Date:
Subject: SQL DDL: FOREIGN KEY construct and field mapping: unexpected behavior
Next
From: Tom Lane
Date:
Subject: Re: SQL DDL: FOREIGN KEY construct and field mapping: unexpected behavior