Hello,
On Fri, 2018-04-06 at 11:32 +0100, hmidi slim wrote:
> Hi,
> I have a table availability: id (integer), product varchar(255),
> period (daterange)
> I want to extract dates from a given period matching a given day.
> E.g: for the period from 01/04/2018 - 30/04/2018 and for day =
> Monday I want to get
> 02/04/2018
> 09/04/2018
> 16/04/2018
> 23/04/2018
> 30/04/2018
>
> I want to make a query such as (the query doesn't work ) but I want
> to extract dates from daterange type:
> select * from availability
> where period @> '[2018-04-02, 2018-04-20]'
> and extract(dow from period_date) = 1
>
> How can I extract dates from daterange?
There is no column called "period_date".
You might try:-
SELECT id, product, period
FROM availability
WHERE period @> '[2018-04-02, 2018-04-09, 2018-04-16, 2018-04-23, 2018-
04-30)'::daterange
ORDER BY product;
Not tested. Not sure exactly what your application needs.
HTH,
Rob