Hiveql中两个日期之间的差异

3

我希望能够在Hiveql中找到两个日期之间的差异,以日期格式显示。我使用SAS中的下列函数通过减去一个数字返回日期值

intnx('day', 20MAR2019 , -7)

它从日期中减去7天,返回13MAR2019。

我希望将其转换为Hiveql语言。欢迎任何提示!


1
请提供您的表结构,包括一些示例数据和预期结果。 - vikrant rana
感谢@vikrant在SAS中编写此代码'intnx('day', 20MAR2019 , -7);',它从日期中减去7天并返回'13MAR2019'!我正在寻找Hiveql中相同的函数。 - MFR
我已经更新了问题,使其更加清晰! - MFR
我还更新了答案并添加了更多细节。 - vikrant rana
1个回答

3
您可以在Hive中使用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

1
谢谢@vikrant,这正是我在寻找的答案。 - MFR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接