问题描述
我需要通过HIVE中的ID计算两个日期之间的天数。
当前表:
ID Date1 Date2
10 1/14/2020 1/15/2020
10 5/10/2020 5/14/2020
20 3/1/2020 3/31/2020
所需的表将有一个额外的列,其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列。) 这些参数可以是日期/日期时间值,返回日期/日期时间值的表达式或日期时间或日期数据类型的列。
此函数从结束日期中减去开始日期,并以整数形式返回天数。在我们的示例中,黄油是在“ 2018-07-30”购买的,但其Date_2日期是“ 2019-08-10”;在Date_1之后,可以在376天内食用。请注意,酸奶是作为过时产品购买的:天差为-1,Date_1日期晚于Date_2日期。