select date '0-1-1'; 2000-01-01
Year 0 doesn't exist according to Wikipedia, so shouldn't Postgresql give an error instead of jumping to 2000?
Year zero does not exist in the anno Domini system usually used to number years in the Gregorian calendar and in its predecessor, the Julian calendar. In this system, the year 1 BC is followed by AD 1
edit: Even though inputs like
date 123-1-1 work as expected, somehow they made it so anything less than 100ad would require leading 0's to prevent this weird behavior, ex:
date 0001-01-01. Given this information, I tried
date 0000-01-01 and it does indeed give an error, specifically "22008 out of range".