在Postgresql中的日期范围之间插入日期
我已经搜索了很长时间,找不到这个问题的答案: 我有一个PostgreSQL表,它是按以下方式分段的:在Postgresql中的日期范围之间插入日期,sql,postgresql,Sql,Postgresql,我已经搜索了很长时间,找不到这个问题的答案: 我有一个PostgreSQL表,它是按以下方式分段的: Start Date | End Date | Name | Team -----------+------------+---------+------ 2017-10-01 | 2017-10-10 | Person | 1 我想要的是,在开始日期和结束日期之间的每一行都有相应的姓名和人员团队: Date | Name | Team ---------
Start Date | End Date | Name | Team
-----------+------------+---------+------
2017-10-01 | 2017-10-10 | Person | 1
我想要的是,在开始日期和结束日期之间的每一行都有相应的姓名和人员团队:
Date | Name | Team
------------+---------+-------
2017-10-01 | Person | 1
------------+---------+-------
2017-10-02 | Person | 1
------------+---------+-------
2017-10-03 | Person | 1
甚至可以用PostgreSQL实现这一点吗?我目前正在运行PostgreSQL 9.3。您可以使用generate_series:
select t.dt::date, p.name, p.team
from person p, generate_series(p.start_date, p.end_date, interval '1' day) as t(dt)
order by t.dt::date;
我已经没有9.3版本了,但我认为旧版本也可以使用它。您可以使用generate\u series:
select t.dt::date, p.name, p.team
from person p, generate_series(p.start_date, p.end_date, interval '1' day) as t(dt)
order by t.dt::date;
我已经没有9.3版本了,但我认为旧版本也可以使用