Generate a series of single days from a table of intervals.
От | Paul Linehan |
---|---|
Тема | Generate a series of single days from a table of intervals. |
Дата | |
Msg-id | CAF4RT5T+P_RkdFs230JOgr3Cg==h0tDYS4DAo22DCdTFPQRQ6g@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Generate a series of single days from a table of intervals.
|
Список | pgsql-novice |
Hi all, I have a table of date intervals (see below for DDL and DML) with a status of 1 for those periods. Dates outside of these intervals need a status of 0. I wish to generate a series of dates from these intervals and also to generate the intervening dates with a status of 0 (say in this example for the month of April - the outying date parameters should be arbitrary - maybe 1 month, maybe three. So, take the example first record (of the three sample records) below, The output I need is: date_val status 2016-04-01 0 2016-04-02 1 2016-04-03 1 2016-04-04 1 2016-04-05 1 2016-04-06 0 2016-04-02 0 .. ..<status as appropriate for the rest of the month> .. 2016-04-30 0 I would like to do this using a recursive CTE if it's the best solution, but I'm open to other approaches - different approaches appreciated. Please let me know if you require any further information. TIA and rgs, Paul... CREATE TABLE testdate (datein date, dateout date, status int); INSERT INTO testdate VALUES ('2016-04-02', '2016-04-05', 1); INSERT INTO testdate VALUES ('2016-04-15', '2016-04-18', 1); INSERT INTO testdate VALUES ('2016-04-25', '2016-04-30', 1);
В списке pgsql-novice по дате отправления: