The following bug has been logged on the website:
Bug reference: 15351
Logged by: Василий Пупкин
Email address: infinite77derger@gmail.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