Literal INTERVAL: (1) |--INTERVAL--(--| Numeric Time Span |--)--| INTERVAL Field Qualifier |-------| Numeric Time Span: .- +-. |--+-+- --+--+-dd--+-----------------------------------------------+-+-+--| | | '-space--hh--+--------------------------------+-' | | | | '-:--mi--+---------------------+-' | | | | '-:--ss--+----------+-' | | | | '-.--fffff-' | | | +-hh--+--------------------------------+----------------+ | | | '-:--mi--+---------------------+-' | | | | '-:--ss--+----------+-' | | | | '-.--fffff-' | | | +-mi--+---------------------+---------------------------+ | | | '-:--ss--+----------+-' | | | | '-.--fffff-' | | | +-ss--+----------+--------------------------------------+ | | | '-.--fffff-' | | | '-fffff-------------------------------------------------' | | .- +-. | '-+- --+--+-yyyy--+--------+-+--------------------------------------' | '- ---mo-' | '-mo---------------'
Element | Description | Restrictions | Syntax |
---|---|---|---|
dd | Number of days | -10**10 < dd < 10**10 | Literal Number |
fffff | Fractions of a second | 0 ≤ fffff ≤ 9999 | Literal Number |
hh | Number of hours | If not first, 0 ≤ hh ≤ 23 | Literal Number |
mi | Number of minutes | If not first, 0 ≤ mi ≤ 59 | Literal Number |
mo | Number of months | If not first, 0 ≤ mo ≤ 11 | Literal Number |
space | Blank space (ASCII 32) | Exactly 1 blank character is required | Literal blank space |
ss | Number of seconds | If not first, 0 ≤ ss ≤ 59 | Literal Number |
yyyy | Number of years | -10**10 < yyyy < 10**10 | Literal Number |
Unlike DATETIME literals, INTERVAL literals can include the unary plus ( + ) or unary minus ( - ) sign. If you specify no sign, the default is plus.
The precision of the first time unit can be specified by the INTERVAL qualifier. Except for FRACTION, which can have no more than 5 digits of precision, the first time unit can have up to 9 digits of precision, if you specified a nondefault precision in the declaration of the INTERVAL column or variable.
The following examples show literal INTERVAL values:
INTERVAL (3-6) YEAR TO MONTH INTERVAL (09:55:30.825) HOUR TO FRACTION INTERVAL (40 5) DAY TO HOUR INTERVAL (299995.2567) SECOND(6) TO FRACTION(4)
Only the last of these examples has nondefault precision. For the syntax of declaring the precision of INTERVAL data types and the default values for each time unit, refer to INTERVAL Field Qualifier.
For information on how to use INTERVAL data in arithmetic and relational operations, see the discussion of the INTERVAL data type in the IBM Informix Guide to SQL: Reference.