months_between 函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

返回 expr1expr2 中日期或时间戳之间已过去的月数。

语法

months_between(expr1, expr2 [, roundOff] )

参数

  • expr1:DATE 或 TIMESTAMP 表达式。
  • expr2:其类型与 expr1 相同的表达式。
  • roundOff:可选的 BOOLEAN 表达式。

返回

一个 DOUBLE。

如果 expr1 晚于 expr2,则结果为正。

如果 expr1expr2 在当月同一天,或者,这两者都是当月最后一天,则会忽略当天的时间。 否则,会根据每月 31 天来计算差异,并将该差异四舍五入到 8 位数,除非 roundOff=false。

示例

> SELECT months_between('1997-02-28 10:30:00', '1996-10-30');
 3.94959677
> SELECT months_between('1997-02-28 10:30:00', '1996-10-30', false);
 3.9495967741935485