Re: to_char() accepting invalid dates?
От | Igor Neyman |
---|---|
Тема | Re: to_char() accepting invalid dates? |
Дата | |
Msg-id | F4C27E77F7A33E4CA98C19A9DC6722A207CD7A5C@EXCHANGE.corp.perceptron.com обсуждение исходный текст |
Ответ на | Re: to_char() accepting invalid dates? (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-sql |
-----Original Message----- From: Bruce Momjian [mailto:bruce@momjian.us] Sent: Monday, July 18, 2011 6:02 PM To: Thomas Kellerer Cc: pgsql-sql@postgresql.org Subject: Re: to_char() accepting invalid dates? Thomas Kellerer wrote: > Jasen Betts wrote on 18.07.2011 11:23: > >> 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? > -- > Bruce Momjian <bruce@momjian.us> http://momjian.us > EnterpriseDB http://enterprisedb.com > + It's impossible for everything to be true. + This (from Oracle) makes me think, that it's implemented differently: Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production 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> Regards, Igor Neyman
В списке pgsql-sql по дате отправления: