在Postgresql中的日期范围之间插入日期

在Postgresql中的日期范围之间插入日期,sql,postgresql,Sql,Postgresql,我已经搜索了很长时间,找不到这个问题的答案: 我有一个PostgreSQL表,它是按以下方式分段的: Start Date | End Date | Name | Team -----------+------------+---------+------ 2017-10-01 | 2017-10-10 | Person | 1 我想要的是,在开始日期和结束日期之间的每一行都有相应的姓名和人员团队: Date | Name | Team ---------

我已经搜索了很长时间,找不到这个问题的答案:

我有一个PostgreSQL表,它是按以下方式分段的:

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版本了,但我认为旧版本也可以使用