Re: to_char incompatibility

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: to_char incompatibility
Дата
Msg-id 200801162206.m0GM6Y025373@momjian.us
обсуждение исходный текст
Ответ на Re: to_char incompatibility  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
Peter Eisentraut wrote:
> Am Donnerstag, 10. Januar 2008 schrieb Roberts, Jon:
> > > On PostgreSQL:
> > >
> > > select to_date('31-DEC-200700:00:00', 'dd-mon-yyyy hh24:mi:ss');
> > >    to_date
> > > --------------
> > >  200700-12-31
> 
> > Oracle removes all white spaces in the date you pass in and the date
> > format.
> 
> I don't have a strong opinion on the whitespace handling, but then I wonder
> 
> 1. If I put four YYYY, why does it create a six-digit year?
> 

If we didn't print +4 digits for YYYY we would need new patterns for >4
digit years, like 5 and 6-digit years.  Our documentation is at least
clear:
       <entry><literal>YYYY</literal></entry>       <entry>year (4 and more digits)</entry>

> 2. If it does create a six digit year, the rest of the pattern doesn't match 
> anymore, so it should error.
> 
> A further example shows that to_date seems to have little error checking 
> altogether:
> 
> select to_date('17.12.1978', 'YYYY-MM-DD');
>   to_date
> ------------
>  0017-12-19

Yea, I can't find any way to suppress those leading zeros, except by
using the proper number of Y's.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://postgres.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: COPY encoding
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Postgresql Materialized views