我有以下问题:
在雪花数据库表中,我有一个名为"开始日期"的字段和另一个称为"结束日期"的域。
我需要的是扩展每个记录的日期,例如:
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