gpt4 book ai didi

hadoop - 如何在 Hive 中获取前一天的日期

转载 作者:可可西里 更新时间:2023-11-01 16:23:11 26 4
gpt4 key购买 nike

我是 Hive 的新手。尝试使用以下查询获取前一天的日期:

SELECT MAX(id) FROM store_rcd_table
WHERE recon_dt = unix_timestamp(date_sub(from_unixtime(unix_timestamp(),
'yyyy-MM-dd'),1),'yyyy-MM-dd')

但得到 NULL 作为输出。输出应该是 date(2017-09-23) 和 MAX(id)。

也试过了,

Select MAX(id) FROM store_rcd_table
WHERE recon_dt ='2017-09-24';

此查询也没有输出,只有 OK 作为输出。

不明白问题是什么?任何建议/帮助表示赞赏。

表的结构是:

id              string                                      
locationid string
mngrid string
empid string
deleted boolean
recon_dt string

最佳答案

尝试select date_sub(current_date, 1);

0: jdbc:hive2://hiveserver2:1> select date_sub(current_date, 1);
+-------------+--+
| _c0 |
+-------------+--+
| 2017-09-24 |
+-------------+--+
1 row selected (0.182 seconds)

最初的尝试是 date_sub(CAST(unix_timestamp()*1000 AS TIMESTAMP), 1) 但显然这是错误的。看评论

随时阅读 Hive Date Functions


如果您没有得到任何结果,您应该检查源数据以查看 recon_dt 实际是什么。 (还值得指出的是,您在问题中使用了两个不同的表)

关于hadoop - 如何在 Hive 中获取前一天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46415615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com