BUG #15351: to_date() function bug

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: infinite77derger(at)gmail(dot)com
Subject: BUG #15351: to_date() function bug
Date: 2018-08-24 15:42:43
Message-ID: 153512536372.1489.18196536375179237149@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 15351
Logged by: Василий Пупкин
Email address: infinite77derger(at)gmail(dot)com
PostgreSQL version: 10.4
Operating system: Ubuntu
Description:

Hi!
I have version: PostgreSQL 10.4 (Debian 10.4-2.pgdg90+1) on
x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0
20170516, 64-bit

And there is a bug in to_date() function:

All dates, that are less then '04.01.0001', returns in Before Christ (!)
format.

Examples:
SELECT to_date('01.12.0000', 'DD.MM.YYYY'); - - converts to 0001-12-01 BC
(Before Christ)
SELECT to_date('01.01.0000', 'DD.MM.YYYY'); - - converts to 0001-01-01
BC
SELECT to_date('01.01.0001', 'DD.MM.YYYY'); - - converts to 0001-01-01
BC
SELECT to_date('01.01.0001 whatever', 'DD.MM.YYYY'); - - converts to
0001-01-01 BC
SELECT to_date('', 'DD.MM.YYYY'); - - empty text also converts to
0001-01-01 BC

SELECT to_date('03.01.0001', 'DD.MM.YYYY'); - - converts to 0001-01-03 BC
But
SELECT to_date('04.01.0001', 'DD.MM.YYYY'); - - converts to 0001-01-04 -
correct

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2018-08-24 16:08:30 Re: BUG #15351: to_date() function bug
Previous Message Tom Lane 2018-08-24 15:15:53 Re: BUG #15350: Getting invalid cache ID: 11 Errors