Robert Haas wrote:
> On Wed, Mar 16, 2011 at 8:21 AM, Piyush Newe
> <piyush.newe@enterprisedb.com> wrote:
> > Data Format ?? ? ? ? ? ? ? ?PostgreSQL EDBAS
> > TO_DATE('01-jan-10', ?'DD-MON-Y') ?? ? ? ?2010-01-01 Error
> > TO_DATE('01-jan-10', ?'DD-MON-YY') ?? ? ? ?2010-01-01 01-JAN-2010
> > TO_DATE('01-jan-10', ?'DD-MON-YYY') 2010-01-01 01-JAN-2010
> > TO_DATE('01-jan-10', ?'DD-MON-YYYY') 0010-01-01 01-JAN-0010
> > In this case, it seems in last 3 cases PG is behaving correctly. Whereas in
> > 1st case the output is not correct since the Format ('Y') is lesser than the
> > actual input ('10'). But PG is ignoring this condition and throwing whatever
> > is input. The output year is might not be the year, what user is expecting.
> > Hence PG should throw an error.
>
> I can't get worked up about this. If there's a consensus that
> throwing an error here is better, fine, but on first blush the PG
> behavior doesn't look unreasonable to me.
>
> > Data Format ?? ? ? ? ? ? ? ?PostgreSQL EDBAS
To clarify, the user is reporting EDB Advanced Server, though the
community PG has the same issues, or at least similar; with git HEAD:
test=> SELECT TO_DATE('01-jan-2010', 'DD-MON-YY'); to_date------------ 3910-01-01(1 row)
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +