Funktionen date_diff
Gäller för: Databricks SQL
Databricks Runtime 13.3 LTS och senare
Returnerar skillnaden mellan två tidsstämplar som mäts i unit
s. date_diff
(tidsstämpel) är en synonym för funktionen timestampdiff.
Syntax
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argument
unit
: En måttenhet.start
: Ett start-TIMESTAMP-uttryck.end
: Ett avslutande TIMESTAMP-uttryck.
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 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