0

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

对于本季度的第一天,这很好用:

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

但我无法使用 hive 检索该季度的最后一天。例如:在这种情况下为 2021-12-31

请你帮助我好吗。

4

1 回答 1

0

它不是那么花哨,但我可以得到季度的第一天;

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
于 2021-11-15T10:22:37.667 回答