timediff
函数
适用对象:Databricks SQL Databricks Runtime 14.0 及更高版本
返回两个以 unit
为单位的时间戳之间的差异。 此函数是 timestampdiff 函数的同义函数。
语法
timediff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
参数
unit
:度量单位。start
:一个以TIMESTAMP
开头的表达式。end
:一个以TIMESTAMP
结尾的表达式。
返回
一个 BIGINT
。
如果 start
大于 end
,则结果为负。
该函数根据 UTC
统计已消逝的完整单位数,一个 DAY
为 86400 秒。
如果日历月份递增并且日历日期和时间等于或大于开始值时,则认为一个月已消逝。 从该时间开始消逝的周数、季数和年数。
示例
-- One second shy of a month elapsed
> SELECT timediff(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 timediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT timediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120