案例
开始日期:2021-01-01
结束日期:2021-01-05
生成结果:
2021-01-01
2021-01-02
2021-01-03
2021-01-04
2021-01-05
select a.id,date_add(starttime,idx) as date1
from (select id,starttime,endtime
from tmp.sgy_product )a
lateral view posexplode(split(space(datediff(endtime,starttime)),'')) t as idx,dat
----分步解释-----------------------------------------------------------
select split(space(8)) # 生成8个空格,这里相当于先占据开始日期和结束日期之间的位置
select id,starttime,endtime
,split(space(datediff(endtime,starttime)),'') x
from tmp.sgy_product
sql中的explode()函数和posexplode()函数区别和应用:
https://blog.csdn.net/dzysunshine/article/details/101110467
连接地址