DSQL, PSQL

    Changed in

    2.5

    Syntax

    Result type

    BIGINT

    Description

    Returns the number of years, months, weeks, days, hours, minutes, seconds or milliseconds elapsed between two date/time values. (The unit is new in 2.5.)

    • DATE and TIMESTAMP arguments can be combined. No other mixes are allowed.

    • With TIMESTAMP and DATE arguments, all units can be used. (Prior to Firebird 2.5, units smaller than DAY were disallowed for DATEs.)

    • With TIME arguments, only HOUR, MINUTE, and MILLISECOND can be used.

    • It does, however, look at all the bigger units. So:

    • A negative result value indicates that moment2 lies before moment1.

    Examples

    1. datediff (hour from current_timestamp to timestamp '12-Jun-2059 06:00')
    2. datediff (minute from time '0:00' to current_time)
    3. datediff (day from current_date to cast(? as date))

    See also

    , Operations Using Date and Time Values