Hiveql中两个日期之间的差异

时间:2019-07-25 03:56:55

标签: sql hive sas hiveql

我希望在Hiveql中以日期格式查找两个日期之间的差异。我在SAS中使用打击功能通过减去数字

来返回日期值
intnx('day', 20MAR2019 , -7)

从日期中减去7天,然后返回13MAR2019

我希望将其转换为Hiveql语言。任何提示将不胜感激!

1 个答案:

答案 0 :(得分:3)

您可以在配置单元中使用date_sub函数从给定日期减去天数。

hive> select current_date;
2019-07-25
hive> select date_sub(current_date,7);
2019-07-18

这将返回null。

hive> select date_sub('13MAR2019',7);
OK
NULL

由于您的日期格式为“ ddMMMYYY”,因此可以将其转换为yyy-MM-dd格式。

hive> select date_sub(from_unixtime(unix_timestamp('13MAR2019' ,'ddMMMyyyy'), 'yyyy-MM-dd'),7);
OK
2019-03-06