我正在尝试使用 hive 获取季度的第一个和最后一个日期。
对于本季度的第一天,效果很好:
select trunc(add_months(from_unixtime(unix_timestamp()),-(month(from_unixtime(unix_timestamp()))-1)%3),'MM') as Firstday_quarter
但是我无法使用配置单元检索该季度的最后一天。 例如:本例中为 2021-12-31
你能帮我吗?
首先,使用以下方法获取当前季度的第一天:
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