Предполагается, что у вас есть таблица дат (счетная таблица для дат). Если нет, найдите таблицы дат и создайте их. В основном это таблица с одной строкой для каждой даты, которая позволяет легко выполнять запросы по диапазонам дат. У многих таблиц дат есть много других столбцов, но для этого вам просто нужен столбец даты. Вы можете создать временную таблицу дат для выполнения запроса, если вам нужно. Пример результат поиска .
Затем вы можете запросить в этой таблице интересующий вас диапазон дат и попытаться оставить внешнее соединение с таблицей диапазонов дат - если вы получили соединение, тогда оно истинно, иначе оно ложно. Примерно так (это может быть не точный синтаксис postgres, я ржавый на нем, но теория та же самая)
Select DT.Date, CASE WHEN DR.entry IS NULL THEN 'true' else 'false' end as is_inside
From DateTable DT
left outer join DateRange DR on DT.Date between DR.entry and DR.exit
Where DT.Date ... (date range to report)
Если у вас, возможно, были перекрывающиеся диапазоны, все, что вам нужно было бы сделать, это различить результаты - у вас будет только один ложный или (один или несколько) истинных результатов.