基础知识
datediff操作
select datediff("2020-01-10", "2020-01-01")
输出:
9
repeat操作
select repeat("o", 9);
输出:ooooooooo
split操作
select split("ooooooooo", "o");
输出:["","","","","","","","","",""]
posexplode操作
select posexplode(split("ooooooooo", "o"));
输出:
pos,val
0,""
1,""
2,""
3,""
4,""
5,""
6,""
7,""
8,""
9,""
得到连续的日期
with dates as(
select date_add("2020-01-01", a.pos) as d
from (select posexplode(split(repeat("o", datediff("2020-01-10", "2020-01-01")), "o"))) a
)
select * from dates;
输出:
2020-01-01
2020-01-02
2020