将 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 您的预期结果。
当使用 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 您的预期结果。