Re: to_char() accepting invalid dates?
От | Bruce Momjian |
---|---|
Тема | Re: to_char() accepting invalid dates? |
Дата | |
Msg-id | 201107200103.p6K13ix10517@momjian.us обсуждение исходный текст |
Ответ на | Re: to_char() accepting invalid dates? (Thomas Kellerer <spam_eater@gmx.net>) |
Ответы |
Re: to_char() accepting invalid dates?
|
Список | pgsql-sql |
Thomas Kellerer wrote: > Bruce Momjian, 19.07.2011 00:02: > >>>> postgres=> select to_date('20110231', 'yyyymmdd'); > >>>> > >>>> to_date > >>>> ------------ > >>>> 2011-03-03 > >>>> (1 row) > >>>> > >>>> is there a way to have to_date() raise an exception in such a case? > >>> > >>> it's possible the odd behaviour you get is required by some standard. > >> > >> That would be *very* odd indeed. > >> > >> > >>> jasen=# select '20110303'::date; > >> Thanks for the tip, this was more a question regarding _why_ to_char() behaves this way. > > > > Well, to_char() is based on Oracle's to_char(). How does Oracle handle > > such a date? > > Oracle throws an error for the above example: > > SQL> select to_date('20110231', 'YYYYMMDD') from dual; > select to_date('20110231', 'YYYYMMDD') from dual > * > ERROR at line 1: > ORA-01839: date not valid for month specified > > SQL> OK, it's a bug then. Let me see if I can find a fix for it. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
В списке pgsql-sql по дате отправления: