Potential to_date(string, string) function malfunction

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Potential to_date(string, string) function malfunction

Pavel Pleva
Hi,

I'd like to report you in my opinion weird behaviour of function
to_date(string, string). According to specs using format 'YYYY-MM-DD' in
months portion it should tolerate 01-12 and in days portion 01-31. But
if you try "SELECT to_date('2019-30-50', 'YYYY-MM-DD') instead of
throwing error it outputs "2021-07-23".

This is output of 'SELECT version();' on our system: "PostgreSQL 9.4.23
on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red
Hat 4.8.5-36), 64-bit"

Have a nice day!

Pavel Pleva


ToDatePostgreSql.png (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Potential to_date(string, string) function malfunction

Tom Lane-2
Pavel Pleva <[hidden email]> writes:
> I'd like to report you in my opinion weird behaviour of function
> to_date(string, string). According to specs using format 'YYYY-MM-DD' in
> months portion it should tolerate 01-12 and in days portion 01-31. But
> if you try "SELECT to_date('2019-30-50', 'YYYY-MM-DD') instead of
> throwing error it outputs "2021-07-23".

> This is output of 'SELECT version();' on our system: "PostgreSQL 9.4.23
> on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red
> Hat 4.8.5-36), 64-bit"

PG v10 and later throw an error for this.

                        regards, tom lane


Reply | Threaded
Open this post in threaded view
|

Re: Potential to_date(string, string) function malfunction

Pavel Pleva
Thanks for reply, don't have access to PG v10 so good to know.

Best regards

Pavel Pleva

Dne 08. 10. 19 v 17:38 Tom Lane napsal(a):

> Pavel Pleva <[hidden email]> writes:
>> I'd like to report you in my opinion weird behaviour of function
>> to_date(string, string). According to specs using format 'YYYY-MM-DD' in
>> months portion it should tolerate 01-12 and in days portion 01-31. But
>> if you try "SELECT to_date('2019-30-50', 'YYYY-MM-DD') instead of
>> throwing error it outputs "2021-07-23".
>> This is output of 'SELECT version();' on our system: "PostgreSQL 9.4.23
>> on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red
>> Hat 4.8.5-36), 64-bit"
> PG v10 and later throw an error for this.
>
> regards, tom lane