Developing Time-Oriented Database Applications in SQL

An instant is an anchored location on the time line. I am writing this on the instant of 2:38 P.M., January 14, 1997, two days after HAL's birth. (From 2001: A Space Odyssey: "I am a HAL 9000 computer, production number 3. I became operational at the HAL plant in Urbana, Illinois, on January 12, 1997.") An instant occurs but once, and then is forever in the past.
| Tip | An instant is an anchored location on the time line. An SQL-92 datetime denotes an instant. |
This data type is most fundamental. Other types can be implemented by, or simulated to some degree with, instants; indeed, most DBMSs provide no other temporal data types.
SQL terms instants datetimes and provides three specific forms and two variations.
An SQL-92 DATE stores the year, month, and day values of an instant. The year value must be in the range 0001 C.E. (Common Era, formerly called A.D.) through 9999 C.E. Note that a DATE value cannot denote B.C.E. (Before the Common Era, formerly called B.C.) dates. While the SQL designers point to some technical issues in justifying this design decision (such as there being no year 0 C.E., or year 0 B.C.E.), its true rationale may lie in initial use of relational products primarily in administrative data processing rather than in scientific applications. Both uses could have been accommodated much better by centering this 10,000-year range at, say, 1 C.E., rather than favoring the...