Split daterange into sub periods - Mailing list pgsql-general

From hmidi slim
Subject Split daterange into sub periods
Date
Msg-id CAMsqVxsSiN_-Tx3tPzAammUyQNBVOKY3cpHfdGFb8wVX7oK3+w@mail.gmail.com
Whole thread Raw
Responses Re: Split daterange into sub periods
Split daterange into sub periods
Re: Split daterange into sub periods
List pgsql-general
Hi,
I'm looking for splitting a daterange into many subperiods following this example:

Base Date: [2018-01-01, 2018-01-31]
overlapped_periods:
1- [ 2018-01-04, 2018-01-06]
2- [ 2018-01-09, 2018-01-12]
3- [ 2018-01-18, 2018-01-19]

I try to get such a result:
1- [ 2018-01-01, 2018-01-03]
2- [ 2018-01-07, 2018-01-08]
3- [ 2018-01-13, 2018-01-17]
4- [ 2018-01-20, 2018-01-31]

The operator '-' does not support this :
SELECT daterange('2018-01-01', '2018-01-31', '[]') - daterange('2018-01-04', '2018-01-06', '[]');

I got this error:
ERROR: result of range difference would not be contiguous

Is there any operators to make the split of daterange?





pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: FK v.s unique indexes
Next
From: Melvin Davidson
Date:
Subject: Re: Cloning schemas