Re: to_char() accepting invalid dates?

From: "Igor Neyman" <ineyman(at)perceptron(dot)com>
To: "Bruce Momjian" <bruce(at)momjian(dot)us>, "Thomas Kellerer" <spam_eater(at)gmx(dot)net>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: to_char() accepting invalid dates?
Date: 2011-07-19 14:09:10
Message-ID: F4C27E77F7A33E4CA98C19A9DC6722A207CD7A5C@EXCHANGE.corp.perceptron.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

-----Original Message-----
From: Bruce Momjian [mailto:bruce(at)momjian(dot)us]
Sent: Monday, July 18, 2011 6:02 PM
To: Thomas Kellerer
Cc: pgsql-sql(at)postgresql(dot)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(at)momjian(dot)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

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Bruce Momjian 2011-07-20 01:03:44 Re: to_char() accepting invalid dates?
Previous Message Thomas Kellerer 2011-07-19 11:30:42 Re: to_char() accepting invalid dates?