Fractions of Seconds

    If fractions of seconds are stored in date and time data types, Firebird stores them to ten-thousandths of a second. If a lower granularity is preferred, the fraction can be specified explicitly as thousandths, hundredths or tenths of a second in Dialect 3 databases of ODS 11 or higher.

    3.4.1. DATE

    The DATE data type in Dialect 3 stores only date without time. The available range for storing data is from January 01, 1 to December 31, 9999.

    Dialect 1 has no “date-only” type.

    3.4.2. TIME

    The TIME data type is available in Dialect 3 only. It stores the time of day within the range from 00:00:00.0000 to 23:59:59.9999.

    If you need to get the time-part from DATE in Dialect 1, you can use the EXTRACT function.

    Examples Using EXTRACT()

    See also the in the chapter entitled Built-in Functions.

    3.4.3. TIMESTAMP

    The TIMESTAMP data type is available in Dialect 3 and Dialect 1. It comprises two 32-bit words — a date-part and a time-part — to form a structure that stores both date and time-of-day. It is the same as the DATE type in Dialect 1.

    The EXTRACT function works equally well with TIMESTAMP as with the Dialect 1 DATE type.

    3.4.4. Operations Using Date and Time Values

    The method of storing date and time values makes it possible to involve them as operands in some arithmetic operations. In storage, a date value or date-part of a timestamp is represented as the number of days elapsed since “date zero” — November 17, 1898 — whilst a time value or the time-part of a timestamp is represented as the number of seconds (with fractions of seconds taken into account) since midnight.

    See also

    DATEADD,