datediff
timestamp (función)
Se aplica a: Databricks SQL Databricks Runtime 10.4 LTS y versiones posteriores
Esta función devuelve la diferencia entre dos marcas de tiempo medida en unidades unit
. Esta función es sinónimo de la función timestampdiff.
Sintaxis
datediff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumentos
unit
: una unidad de medida.start
: Una expresiónTIMESTAMP
inicial.end
: Una expresiónTIMESTAMP
final.
Devoluciones
BIGINT
.
Si start
es mayor que end
el resultado es negativo.
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
-- One second shy of a month elapsed
> SELECT datediff(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 datediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT datediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120