在 sql 雪花中展开开始和结束日期

Expand start and end date in sql Snowflake

我有以下问题:

在雪花数据库中 table 我有一个名为开始日期的字段和另一个名为结束日期的字段。

我需要的是扩展每条记录的日期,例如:

id | date_start | date_end 
1  | 2019-12-01 | 2019-12-05 
2  | 2020-01-01 | 2020-01-06 

结果应如下所示:

id | date_new 
1  | 2019-12-01  
1  | 2019-12-02 
1  | 2019-12-03 
1  | 2019-12-04 
1  | 2019-12-05 
2  | 2020-01-01 
2  | 2020-01-02 
2  | 2020-01-03 
2  | 2020-01-04 
2  | 2020-01-05 

谢谢

一个选项是递归查询:

with recursive cte (id, date_start, date_end) as (
    select id, date_start, date_end from mytable
    union all
    select id, date_start + interval '1 day', date_end from cte where date_start < date_end
)
select id, date_start date_new from cte