将 Hive datediff() 转换为月份

Conversion Hive datediff() to months

当使用 Hive 时,return select datediff('date1','date2') from table 值的功能是 return 两个日期之间的天数。 如果我对两个日期之间的月份感兴趣怎么办?

一个选项是将结果除以 30.5,因为平均月份大约有 30.5 天,但是当考虑大日期范围时,这肯定会产生不精确。

你知道用标准 SQL(最好是 HIVE)语法以类似的方式检索 月数(而不是天数)的方法吗?

你可以试试:

SELECT CAST(MONTHS_BETWEEN(date1, date2) AS INT) as numberOfMonthsBetweenDates
FROM table

这将 return 您的预期结果。