DATETIME_DIFF

Devuelve el número de intervalos de tiempo entre dos fechas.

Ejemplo de uso

DATETIME_DIFF(Order Date, Ship Date, DAY)

Sintaxis

DATETIME_DIFF( date_expression, date_expression, part )

Parámetros

  • date_expression: campo o expresión de fecha o de fecha y hora. Si la primera expresión de fecha es anterior a la segunda, el resultado es cero o un número negativo.
  • part: la parte temporal que se debe devolver. DATETIME_DIFF admite las siguientes partes:
    • MICROSECOND: puede utilizarse en campos o expresiones de fecha y hora.
    • MILLISECOND: puede utilizarse en campos o expresiones de fecha y hora.
    • SECOND: puede utilizarse en campos o expresiones de fecha y hora.
    • MINUTE: puede utilizarse en campos o expresiones de fecha y hora.
    • HOUR: puede utilizarse en campos o expresiones de fecha y hora.
    • DAY
    • WEEK: esta parte de la fecha empieza en domingo.
    • ISOWEEK: usa el estándar de numeración semanal ISO 8601. Las semanas ISO comienzan en lunes.
    • MONTH
    • QUARTER
    • YEAR
    • ISOYEAR: usa el estándar de numeración anual ISO 8601 por fecha semanal. Según este estándar, el año empieza el lunes de la primera semana que contiene el primer jueves del mismo año según el calendario gregoriano.

Tipo de datos devueltos

Número (entero)

Ejemplos

En los ejemplos segundo y tercero de la siguiente tabla se muestra el resultado de DATETIME_DIFF a partir de dos valores de fecha entre los cuales hay una diferencia de 24 horas. DATETIME_DIFF con la parte WEEK devuelve 1 porque DATETIME_DIFF contabiliza el número de partes comprendidas en este intervalo de valores de fecha. Cada WEEK empieza en domingo, por lo que cada una de estas unidades comprende el sábado, 2017-10-14 00:00:00, y el domingo, 2017-10-15 00:00:00.

Fórmula de ejemplo Salida
DATETIME_DIFF( DATETIME "2010-07-07 10:20:00", DATETIME "2008-12-25 15:30:00", DAY ) 559
DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", DAY )

1

DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", WEEK ) 1

En el siguiente ejemplo se muestra el resultado de DATETIME_DIFF a partir de dos fechas en años diferentes. DATETIME_DIFF con la parte de fecha YEAR devuelve 3 porque contabiliza el número de unidades anuales del calendario gregoriano comprendidas entre los dos valores de fecha. DATETIME_DIFF con la parte de fecha ISOYEAR devuelve 2 porque el segundo valor de fecha corresponde al año ISO 2015. El primer jueves del año natural del año 2015 fue 2015-01-01, por lo que el año ISO 2015 empieza el lunes anterior, 2014-12-29.

Fórmula de ejemplo Salida
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', YEAR) 3
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', ISOYEAR)

2

En el siguiente ejemplo se muestra el resultado de DATETIME_DIFF a partir de dos días consecutivos. La primera fecha corresponde a un lunes, y la segunda, a un domingo. DATETIME_DIFF con la parte de fecha ISOWEEK también devuelve 1 porque las semanas ISO comienzan en lunes.

Fórmula de ejemplo Salida
DATETIME_DIFF(DATE '2017-12-18', DATE '2017-12-17', WEEK) 0
DATETIME_DIFF(DATE '2017-12-18', DATE'2017-12-17', ISOWEEK) 1

Notas

Esta función no está disponible para los tipos de fecha del modo de compatibilidad.