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