| From: | Karel Zak <zakkr(at)zf(dot)jcu(dot)cz> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-sql(at)postgresql(dot)org | 
| Subject: | Re: Formatting problems with negative intervals, TO_CHAR | 
| Date: | 2004-06-07 07:52:00 | 
| Message-ID: | 20040607075200.GA28529@zf.jcu.cz | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-sql | 
On Sun, Jun 06, 2004 at 06:40:56PM -0400, Tom Lane wrote:
> 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.
Please, read PostgreSQL docs.
http://www.postgresql.org/docs/7.4/static/functions-formatting.html
  Warning: to_char(interval, text) is deprecated and should not be
  used in newly-written code. It will be removed in the next version.
Karel
-- 
 Karel Zak  <zakkr(at)zf(dot)jcu(dot)cz>
 http://home.zf.jcu.cz/~zakkr/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Stefan Weiss | 2004-06-07 09:08:37 | Re: Formatting problems with negative intervals, TO_CHAR | 
| Previous Message | sad | 2004-06-07 06:37:44 | empty string casting to typed value |