Developing Time-Oriented Database Applications in SQL

| Tip | No vendor supports SQL-92 at the Full SQL level of conformance. All products include idiosyncrasies in their temporal support that render porting to other DBMSs difficult. |
Although temporal types have been in the SQL standard since 1992 and were defined in the mid-1980s, it is surprising, and unfortunate, that unlike other portions of SQL, the types and their predicates and constructors are not supported by most DBMSs. Instead, each vendor has defined an incompatible and idiosyncratic set of temporal types and operators, replete with inconsistencies and seemingly arbitrary design decisions. Temporal types are among the most variable features of commercial DBMSs. Coupled with this is the often poor documentation available from the vendors of temporal features of their products. Determining the operations supported on temporal type(s) can be a frustrating exercise, with the information, if present at all, spread across the documentation. The following is an attempt to gather in one place the information about temporal support in a few prominent DBMSs. We make no claim for comprehensiveness, but then, neither do most vendors. Interestingly, only Informix-Universal Server supports a type that provides partial support for intervals; all of the other DBMSs require intervals to be simulated with integers, fixed-point, or floating-point numbers.
We start with IBM DB2 Universal Database (UDB), as it is closest to the SQL-92 standard in its support of temporal data types.
IBM DB2 UDB supports the DATE, TIME, and TIMESTAMP instant types, with a few...