Of course the year exists. The date itself is nonsensical, however. 'January 3, 648' does reference a valid day, but the date itself has no meaning at that time in the world, so there is very little meaning in using Gregorian dates except to give us a relativistic idea of when it occurred. Nevertheless, you can never say with specificity anything that occurred on any given date prior to the inception of the Gregorian calendar without doing conversions to a calendar no longer in use while taking into account the numerous error corrections that have been made to various calendars. Knowing the year and season something happened is about the best that can be expected. -- Brandon Aiken CS/IT Systems Engineer -----Original Message----- From: Scott Marlowe [mailto:smarlowe@xxxxxxxxxxxxxxxxx] Sent: Friday, September 01, 2006 2:27 PM To: Brandon Aiken Cc: pgsql general Subject: RE: [GENERAL] Precision of data types and functions On Fri, 2006-09-01 at 13:24, Brandon Aiken wrote: > > Now, MySQL's design to 9-fill fields when you try to enter a too-large > > number is, in fact, stupid on MySQL's part. I consider that silent > > truncation. Heck, MySQL lets you create a date on February 31st, or > > prior to the year 1500, both of which are obviously nonsensical. > > What's nonsensical about a date before the year 1500??? it's not like > that didn't exist or something. > The Gregorian calendar was established in the 1500's by Pope Gregory, > so, no, those dates did not exist. That makes no sense whatsoever. Just because the calendar is a somewhat modern invention doesn't mean that the year 45 BC doesn't exist... How else are we to keep track of dates from before that time? Switch to the Mayan calendar? I'm pretty sure no one's made a Mayan Calendar extension for PostgreSQL (or any other database) just yet. test=> insert into test values ('1023-04-12 BC'); INSERT 2124397005 1 test=> insert into test values ('1023-04-12'); INSERT 2124397005 1 test=> select * from test; t ------------------------ 1023-04-12 00:00:00 1023-04-12 00:00:00 BC (2 rows)