2017-10-06 90 views
1

我試圖採取了類似這樣的一個結構中:轉換日期範圍設置行

ID  START_DATE END_DATE 
1111 01/01/14 06/01/14 
1111 08/01/14 12/01/14 
1111 01/01/15 03/01/15 
1111 05/01/15 11/01/15 

並得到其連續的行包含START_DATE和END_DATE之間的日期,包括日期的結構:

ID  DATE_FIELD 
1111 01/01/14 
1111 02/01/14 
1111 03/01/14 
1111 04/01/14 
1111 05/01/14 
1111 06/01/14 
1111 08/01/14 
1111 09/01/14 
1111 10/01/14 
1111 11/01/14 
1111 12/01/14 
1111 01/01/15 
1111 02/01/15 
1111 03/01/15 
1111 05/01/15 
1111 06/01/15 
1111 07/01/15 
1111 08/01/15 
1111 09/01/15 
1111 10/01/15 
1111 11/01/15 

回答

1

使用功能generate_series()橫向聯接,即原創表的每一行:

select id, d::date as date_field 
from my_table, 
generate_series(start_date, end_date, interval '1 day') d; 

SqlFiddle