转换Hive datediff()到几个月

Sky*_*ush 4 sql hadoop hive datediff date

使用Hive时,可以返回select datediff('date1','date2') from table返回两个日期之间天数的值的功能.如果我对这两个日期之间的月份感兴趣怎么办?

一种选择是将结果除以30.5,因为平均月数大约为30.5天,但是当考虑大的日期范围时,这肯定会产生不准确.

您是否知道以标准SQL(理想情况下为HIVE)语法以类似方式检索月数(而不是天数)的方法?

que*_*ise 6

您可以尝试:

SELECT CAST(MONTHS_BETWEEN(date1, date2) AS INT) as numberOfMonthsBetweenDates
FROM table
Run Code Online (Sandbox Code Playgroud)

这将返回您的预期结果.