I updated our documentation for CC:
<entry>century component of year (minimum 2 digits)</entry>
---------------------------------------------------------------------------
Tom Lane wrote:
> "Akio Iwaasa" <iwaasa@mxs.nes.nec.co.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
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
> http://www.postgresql.org/about/donate
--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +