Re: to_char() accepting invalid dates? - Mailing list pgsql-sql

From Bruce Momjian
Subject Re: to_char() accepting invalid dates?
Date
Msg-id 201107200103.p6K13ix10517@momjian.us
Whole thread Raw
In response to Re: to_char() accepting invalid dates?  (Thomas Kellerer <spam_eater@gmx.net>)
Responses Re: to_char() accepting invalid dates?  (Thomas Kellerer <spam_eater@gmx.net>)
List 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 by date:

Previous
From: "Igor Neyman"
Date:
Subject: Re: to_char() accepting invalid dates?
Next
From: Thomas Kellerer
Date:
Subject: Re: to_char() accepting invalid dates?