datediff (timestamp) 函数 (Databricks SQL)
返回两个以 unit 为单位的时间戳之间的差异。
语法
datediff(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 秒。
如果日历月份递增并且日历日期和时间等于或大于开始值时,则认为一个月已消逝。 从该时间开始消逝的周数、季数和年数。
datediff (timestamp) 是 timestampdiff 函数 (Databricks SQL) 的同义词。
示例
-- 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