Share via


Funzione timediff

Si applica a:check marked yes Databricks SQL check marked yes Databricks Runtime 14.0 e versioni successive

Restituisce la differenza tra due timestamp misurati in units. Questa funzione è un sinonimo della funzione timestampdiff.

Sintassi

timediff(unit, start, end)

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

Argomenti

  • unit: unità di misura.
  • start: espressione iniziale TIMESTAMP .
  • end: espressione finale TIMESTAMP .

Valori restituiti

Un oggetto BIGINT.

Se start è maggiore del end risultato è negativo.

La funzione conta intere unità trascorse in base a UTC un valore DAY di 86400 secondi.

Un mese viene considerato trascorso quando il mese di calendario è aumentato e il giorno e l'ora del calendario è uguale o superiore all'inizio. Settimane, trimestri e anni seguono da questo.

Esempi

-- One second shy of a month elapsed
> SELECT timediff(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 timediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

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