Partager via


Fonction datediff (timestamp)

S’applique à :coche marquée oui Databricks SQL oui coché Databricks Runtime 10.4 LTS et versions ultérieures

Retourne la différence entre deux timestamps mesurée en units. Cette fonction est un synonyme de timestampdiff fonction.

Syntaxe

datediff(unit, start, end)

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

Arguments

  • unit : unité de mesure.
  • start : une expression TIMESTAMP de début.
  • end : une expression 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 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