Descripción: Devuelve el número de años, meses, semanas, días, horas, minutos, segundos y milisegundos que hay de diferencia entre dos valores que sean de tipo fecha u hora.

Tipo de resultado: Bigint

Sintaxis:

DATEDIFF(<argumentos>)

<argumentos> = <unidad> FROM <momento1> TO <momento2>

<unidad>, <momento1>, <momento2>

<unidad>     = YEAR | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND | MILLISECOND

<momentoN> = una expresión que sea DATE, TIME o TIMESTAMP

  • Los tipos de datos DATE y TIMESTAMP pueden ser combinados. Otras combinaciones no son admitidas
  • Con argumentos de tipo DATE y TIMESTAMP todas las unidades pueden ser usadas
  • Con argumentos de tipo TIME solamente HOUR, MINUTE, SECOND y MILLISECOND pueden ser usados
  • Un resultado negativo indica que momento2 ocurrió antes que momento1

Ejemplos:

SELECT
   DATEDIFF (HOUR FROM CURRENT_TIMESTAMP TO TIMESTAMP '21-Apr-2013 08:00')
FROM
   RDB$DATABASE

SELECT
   DATEDIFF(MINUTE FROM TIME '0:00' TO CURRENT_TIME)
FROM
   RDB$DATABASE

SELECT
   DATEDIFF(MONTH, CURRENT_DATE, DATE '1-1-2000')
FROM
   RDB$DATABASE

SELECT
   DATEDIFF(DAY FROM CURRENT_DATE TO CAST(? AS DATE))
FROM
   RDB$DATABASE

.