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.