如何在hive中获取季度的最后一天

问题描述 投票:0回答:1

我正在尝试使用 hive 获取季度的第一个和最后一个日期。

对于本季度的第一天,效果很好:

 select trunc(add_months(from_unixtime(unix_timestamp()),-(month(from_unixtime(unix_timestamp()))-1)%3),'MM')  as Firstday_quarter

但是我无法使用配置单元检索该季度的最后一天。 例如:本例中为 2021-12-31

你能帮我吗?

hive hue
1个回答
2
投票

首先,使用以下方法获取当前季度的第一天:

hive> SELECT trunc(current_timestamp, 'Q');
OK
2021-10-01

然后根据你刚刚得到的第一天,添加75天(只是为了确保你是在该季度的最后一个月),你可以得到该季度/月份的最后一天;

hive> select last_day(date_add(trunc(current_timestamp, 'Q'), 75));
OK
2021-12-31
© www.soinside.com 2019 - 2024. All rights reserved.