【问题标题】:Conversion Hive datediff() to months将 Hive datediff() 转换为月份
【发布时间】:2017-03-28 15:40:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql date hadoop hive datediff


    【解决方案1】:

    你可以试试:

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

    这将返回您的预期结果。

    【讨论】:

    • 这很聪明:)
    • 分钟和小时之间呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 2021-10-03
    • 2016-10-04
    相关资源
    最近更新 更多