date_diff-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

Retourneert het verschil tussen twee tijdstempels gemeten in units. date_diff (timestamp) is een synoniem voor de functie timestampdiff.

Syntaxis

date_diff(unit, start, end)

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

Argumenten

  • unit: Een maateenheid.
  • start: Een start-TIMESTAMP-expressie.
  • end: Een eind-TIMESTAMP-expressie.

Retouren

A BIGINT.

Als start het resultaat groter is dan end het resultaat is negatief.

De functie telt hele verstreken eenheden op UTC basis van een DAY getal van 86400 seconden.

Een maand wordt beschouwd als verstreken wanneer de kalendermaand is toegenomen en de kalenderdag en -tijd gelijk of groter zijn aan het begin. Weken, kwartalen en jaren volgen daarvan.

Voorbeelden

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