Home > Articles > Data

  • Print
  • + Share This
From the author of

Range of Values

The next chart shows the minimum and maximum date values according to the ANSI/ISO SQL Standard and the Big Eight. (Note: MySQL's minimum is really 0001-01-01; there's an error in its documentation.)

Minimum Value

Maximum Value

ANSI SQL

0001-01-01

9999-12-31

IBM

0001-01-01

9999-12-31

Informix

0001-01-01

9999-12-31

Ingres

0001-01-01

9999-12-31

InterBase

0001-01-01

9999-12-31

Microsoft

1753-01-01

9999-12-31

MySQL

1000-01-01

9999-12-31

Oracle

4713-01-01 BC

9999-12-31

Sybase

1753-01-01

9999-12-31


Generally, the range of values is between the year 1 and the year 9999, but what's interesting is the odd-looking minimum date values for Microsoft, Oracle, and Sybase.

The explanation of Microsoft and Sybase's minimum date is that they're trying to avoid the questions that arise with date arithmetic that uses the Julian calendar rules (which we'll discuss in the next section, "The Western Calendar").

Oracle's minimum date can be explained by the fact that it's allowing for all the Julian Day Numbers (see the section "Julian Day Numbers," below). Incidentally, we are very sure that the minimum value is 4713 BC—we know that the Oracle manual says 4712 BC, but the manual is wrong.

  • + Share This
  • 🔖 Save To Your Account