Partager via


Fonction date_diff

S’applique à : coche marquée oui Databricks SQL oui coché Databricks Runtime 13.3 LTS et ultérieur

Retourne la différence entre deux timestamps mesurée en units. date_diff (timestamp) est synonyme de la fonction timestampdiff.

Syntaxe

date_diff(unit, start, end)

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

Arguments

  • unit : unité de mesure.
  • start : expression de type TIMESTAMP de début.
  • end : expression de type TIMESTAMP de fin.

Retours

BIGINT.

Si start est supérieur à end, le résultat est négatif.

La fonction compte les unités entières écoulées sur la base de UTC avec un DAY correspondant à 86400 secondes.

Un mois est considéré comme écoulé lorsque le mois calendrier a augmenté et que le jour calendrier et l’heure sont égales ou supérieures au début. Les semaines, les trimestres et les années suivent.

Exemples

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