Zakładając (ze skokiem wiary), że chcesz mieć daty między określonymi dniami w roku, niezależnie od roku (na przykład, jeśli wysyłasz partię kartek urodzinowych lub coś takiego), możesz skonfigurować test w ten sposób:
CREATE TABLE d (dt date);
COPY d FROM STDIN;
1840-02-28
1990-06-21
1991-02-15
1991-04-25
1992-05-30
1995-03-04
1995-04-10
2001-02-03
2010-04-06
\.
Możesz też użyć „konstruktorów wartości wierszy”, aby łatwo wybrać żądany zakres:
SELECT * FROM d
WHERE (EXTRACT(MONTH FROM dt), EXTRACT(DAY FROM dt))
BETWEEN (2, 15) AND (6, 21);
Co daje:
dt ------------ 1840-02-28 1990-06-21 1991-02-15 1991-04-25 1992-05-30 1995-03-04 1995-04-10 2010-04-06 (8 rows)