Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime 13.3 LTS en hoger
Geeft het verschil terug tussen twee data in dagen, of tussen twee tijdstempels in een gespecificeerde eenheid.
Syntaxis
date_diff(endDate, startDate)
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumenten
-
endDate: Een eindexpressieDATE. -
startDate: Een beginexpressieDATE. -
unit: Een maateenheid. -
start: Een beginexpressieTIMESTAMP. -
end: Een eindexpressieTIMESTAMP.
Retouren
- Voor
date_diff(endDate, startDate), enINTEGERdat het aantal dagen vanstartDatetotendDatevertegenwoordigt. - Voor
date_diff(unit, start, end), eenBIGINTdat het verschil tussenstartenendgemeten inunits vertegenwoordigt. Deze vorm is een synoniem voortimestampdifffunctie.
Het resultaat is negatief als de beginwaarde groter is dan de eindwaarde.
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
> SELECT date_diff(DATE'2009-07-31', DATE'2009-07-30');
1
-- 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