Обсуждение: Potential to_date(string, string) function malfunction
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
Вложения
Pavel Pleva <pavel.pleva@gmail.com> 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
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 <pavel.pleva@gmail.com> 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