计算HIVE中两个日期之间的天数

Calculating number of days between two dates in HIVE

我需要在 HIVE 中通过 ID 计算两个日期之间的天数。

当前 table:
身份证日期 1 日期 2
10 2020 年 1 月 14 日 2020 年 1 月 15 日
10 2020 年 5 月 10 日 2020 年 5 月 14 日
20 2020 年 3 月 1 日 2020 年 3 月 31 日

所需的 table 会有额外的列,DayDiff 为 1、5、31

完成此操作的任何示例 HIVE 代码都很棒。

我们将使用 DATEDIFF() 函数。这是您要编写的查询:

SELECT 
   DATEDIFF(Date_2, Date_1) 
     AS days FROM TableName;

实时实施https://learnsql.com/cookbook/how-to-find-the-number-of-days-between-two-dates-in-mysql/#:~:text=Use%20the%20DATEDIFF()%20function%20to%20retrieve%20the%20number%20of,%2C%20it's%20the%20expiration_date%20column.)
使用 DATEDIFF() 函数检索 MySQL 数据库中两个日期之间的天数。此函数有两个参数:

结束日期。 (在我们的示例中,它是 Date_2 列。) 开始日期。 (在我们的示例中,它是 Date_1 列。) 这些参数可以是 date/datetime 值、return date/datetime 值的表达式,或者日期时间或日期数据类型的列。

此函数从结束日期减去开始日期和 returns 天数作为整数。在我们的示例中,黄油是在“2018-07-30”购买的,但它的 Date_2 日期是“2019-08-10”; Date_1之后,可以吃到376天。请注意,酸奶是作为过时产品购买的:天数差异为 -1,其 Date_1 日期晚于其 Date_2 日期。