Funzione date_diff

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

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

Sintassi

date_diff(unit, start, end)

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

Argomenti

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

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 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