On Wed, Mar 16, 2011 at 5:52 PM, Bruce Momjian <bruce@momjian.us> wrote:
> 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)
Actually, I think he's comparing PostgreSQL to Advanced Server.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company