Skip site navigation (1) Skip section navigation (2)

Re: BUG #2885: to_char function

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Akio Iwaasa" <iwaasa(at)mxs(dot)nes(dot)nec(dot)co(dot)jp>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #2885: to_char function
Date: 2007-01-12 15:46:38
Message-ID: 7266.1168616798@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-bugs
"Akio Iwaasa" <iwaasa(at)mxs(dot)nes(dot)nec(dot)co(dot)jp> writes:
> When I've used "to_char" function to convert "Date" to 
> "century" format text, '2000-01-01' was converted in 
> the 21st century.

>  postgres=# select to_char('2000-01-01'::date, 'CC') ;
>   to_char
>  ---------
>   21
>  (1 row)

I'm not entirely sure that this is wrong, because of the behavior of
the Y and YY fields.

regression=# select to_char('2007-01-01'::date, 'CC YY') ;
 to_char
---------
 21 07
(1 row)

regression=# select to_date('21 07', 'CC YY');
  to_date
------------
 2007-01-01
(1 row)

regression=# select to_char('2000-01-01'::date, 'CC YY') ;
 to_char
---------
 21 00
(1 row)

regression=# select to_date('21 00', 'CC YY');
  to_date
------------
 2000-01-01
(1 row)

If we make CC treat 2000 as being in the 20th century, what should YY
do?

Perhaps more to the point, how do these things act in Oracle?
to_char is basically an Oracle-compatibility function so we should
adopt their bugs :-(

			regards, tom lane

In response to

Responses

pgsql-bugs by date

Next:From: Jorge GodoyDate: 2007-01-12 15:53:04
Subject: Re: BUG #2885: to_char function
Previous:From: Zubkovsky, SergeyDate: 2007-01-12 14:48:48
Subject: PG unexpected crash

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group