Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Función
Se aplica a:
Databricks SQL
Databricks Runtime 13.3 LTS y versiones posteriores
Devuelve la diferencia entre dos fechas en días, o entre dos marcas de tiempo en una unidad especificada.
Sintaxis
date_diff(endDate, startDate)
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumentos
-
endDate: Una expresiónDATEfinal. -
startDate: Una expresiónDATEinicial. -
unit: una unidad de medida. -
start: Una expresiónTIMESTAMPinicial. -
end: Una expresiónTIMESTAMPfinal.
Devoluciones
- Para
date_diff(endDate, startDate), yINTEGERque representa el número de días destartDateaendDate. - Para
date_diff(unit, start, end), aBIGINTque representa la diferencia entrestartyendmedida enunits. Esta forma es sinónimo detimestampdifffunción.
El resultado es negativo si el valor inicial es mayor que el valor final.
La función cuenta todas las unidades transcurridos en función de UTC con un DAY valor de 86400 segundos.
Se considera un mes transcurrido cuando el mes calendario aumentó y el día calendario y la hora son iguales o mayores al inicio. A partir de ahí se producen semanas, trimestres y años.
Ejemplos
> SELECT date_diff(DATE'2009-07-31', DATE'2009-07-30');
1
-- One second shy of a month elapsed
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 11:59:59');
0
-- One month has passed even though its' not end of the month yet because day and time line up.
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT date_diff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120