Fonction timestampdiff
S’applique à : Databricks SQL Databricks Runtime 10.4 LTS et versions ultérieures
Retourne la différence entre deux timestamps mesurée en unit
s.
Syntaxe
timestampdiff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Arguments
unit
: unité de mesure.start
: une expressionTIMESTAMP
de début.end
: une expressionTIMESTAMP
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 timestampdiff(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 timestampdiff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT timestampdiff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120