Dela via


datediff Funktion (tidsstämpel)

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 10.4 LTS och senare

Returnerar skillnaden mellan två tidsstämplar som mäts i units. Den här funktionen är synonym för funktionen timestampdiff.

Syntax

datediff(unit, start, end)

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

Argument

  • unit: En måttenhet.
  • start: Ett startuttryck TIMESTAMP .
  • end: Ett slututtryck TIMESTAMP .

Returer

En BIGINT.

Om start är större än end resultatet är negativt.

Funktionen räknar hela förflutna enheter baserat på UTC DAY 86400 sekunder.

En månad anses ha förflutit när kalendermånaden har ökat och kalenderdagen och tiden är lika med eller större i början. Veckor, kvartal och år följer av det.

Exempel

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