HiveQL Date_Add 问题

HiveQL Date_Add issue

使用 Hue 2.3.1-402,我注意到 HQL 的 date_add 函数存在一些错误,可能是由于 UTC 时区问题导致一天后得出结果。

运行 下面两个代码产生不同的结果:

SELECT DATE_ADD(TO_DATE('2015-02-22'), 25) AS d1_b

2015-03-19

SELECT DATE_ADD(TO_DATE(d1), 25) AS d1_b 
FROM
(SELECT '2015-02-22' as d1) a

2015-03-18

当 date_add 函数计算多行数据时会出现类似的问题。 运行 没有 to_date 转换(使其保持为字符串)并给出相同的结果。

我在 hive 13.1 上测试了你的代码如下。它工作得很好。我不确定您为什么使用 to_date() ,其中 Returns 时间戳字符串的日期部分,因为您的日期似乎已经删除了时间戳。您的日期 '2015-02-22' 是一个字符串,因此 to_date() 不应执行任何操作。

我的结果如下:

select date_add('2015-02-22',25) from table;

2015-03-19成绩

select date_add(to_date('2015-02-22'),25) from table;

2015-03-19成绩

SELECT DATE_ADD(TO_DATE(d1), 25) AS d1_b 
FROM
(SELECT '2015-02-22' as d1 from table) a;

2015-03-19成绩

您需要留下更多信息,以便有人帮助您进一步排除故障。