Compartir a través de


Función timestampdiff

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 10.4 LTS y versiones posteriores

Esta función devuelve la diferencia entre dos marcas de tiempo medida en unidades unit.

Sintaxis

timestampdiff(unit, start, end)

unit
 { MICROSECOND |
   MILLISECOND |
   SECOND |
   MINUTE |
   HOUR |
   DAY |
   WEEK |
   MONTH |
   QUARTER |
   YEAR }

Argumentos

  • unit: una unidad de medida.
  • start: Una expresión TIMESTAMP inicial.
  • end: Una expresión TIMESTAMP 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 timestampdiff(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 timestampdiff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

-- Start is greater than the end
> SELECT timestampdiff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
 -120