1.获取指定月第一天最后一天
--指定月的第一天 select trunc('2020-11-10','MM'); 2020-11-01
--指定月的最后一天 select last_day('2020-11-10'); 2020-11-30
2.获取连续日期
格式:
with dates as(
select date_add(start_date, a.pos) as d
from (select posexplode(split(repeat("m", datediff(end_date, start_date)), "m"))) a
)
select * from dates;
1
2
3
4
5
使用方式: 将start_date和end_date替换为自己的日期即可.
案例:
with dates as(
select date_add("2020-01-01", a.pos) as d
from (select posexplode(split(repeat("m", datediff("2020-01-10", "2020-01-01")), "m"))) a
)
select * from dates;
输出:
2020-01-01
2020-01-02
2020-01-03
2020-01-04
2020-01-05
2020-01-06
2020-01-07
2020-01-08
2020-01-09
2020-01-10
版权归原作者 haungtan07 所有, 如有侵权,请联系我们删除。