On Fri, 2006-09-01 at 13:33, Brandon Aiken wrote: > -----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) > 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. Never the less, you can input dates before 1500 in PostgreSQL and almost any other database. It's not a failing of MySQL nor PostgreSQL that they can accept dates before 1500.