SELECT
mydate,
to_char(mydate, 'day') d,
SUBSTRING(to_char(mydate, 'day'), 1, 3) dd
FROM
generate_series('2021-05-01'::date, '2021-05-31'::date, '1 day'::interval) AS g(mydate))
SELECT * FROM s WHERE dd = 'mon' OR d = 'tuesday';
И Вы неправильно генерируете даты, кстати. Корректно это делается так, например: SELECT g.d::date AS mydate FROM generate_series('2021-05-01'::timestamp, '2021-05-31'::timestamp, '1 day') AS g(d);
Обсуждают сегодня