【发布时间】:2017-09-05 22:55:35
【问题描述】:
我目前正在使用 Hive SQL。我知道如何获取当前季度的日期,但是我正在努力获取上一季度的日期
示例: 今天是 2017 年 9 月 5 日 当前季度至今 (QTD) 为 07/01/2017 - 09/05/2017。 (2个月零5天)
现在,我想得到以前的 QTD,所以它应该给我 2017 年 4 月 1 日 - 2017 年 6 月 5 日(2 个月零 5 天)。这样,我将苹果与苹果进行比较。完全相同的日子。
注意:我有一个旧版本的 hive sql
对于我正在使用的当前 QTD:
select * from table
where date_col >= printf('%04d-%02d-%02d',year(FROM_UNIXTIME(UNIX_TIMESTAMP()),),(((month(FROM_UNIXTIME(UNIX_TIMESTAMP()),)-1) div 3) * 3) + 1,1)
AND date_col <= FROM_UNIXTIME(UNIX_TIMESTAMP())
现在,对于以前的 QTD,我尝试使用以下内容: 下面的 SQL 脚本给了我 4/01/2017 - 今天.. 但我想得到 4/01/2017 - 06/05/2017 所以它与当前 QTD 完全相同
select * from table
where date_col >= printf('%04d-%02d-%02d',year(FROM_UNIXTIME(UNIX_TIMESTAMP()),),(((month(FROM_UNIXTIME(UNIX_TIMESTAMP()),)-1) div 6) * 3) + 1,1)
AND date_col <= FROM_UNIXTIME(UNIX_TIMESTAMP())
请指教。
谢谢
【问题讨论】: