Angenommen (mit Vertrauensvorschuss), dass Sie unabhängig vom Jahr Daten zwischen bestimmten Tagen des Jahres haben möchten (z. B. wenn Sie einen Stapel Geburtstagskarten oder ähnliches versenden), können Sie einen Test damit einrichten:
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
\.
Und Sie können "Zeilenwertkonstruktoren" verwenden, um den gewünschten Bereich einfach auszuwählen:
SELECT * FROM d
WHERE (EXTRACT(MONTH FROM dt), EXTRACT(DAY FROM dt))
BETWEEN (2, 15) AND (6, 21);
Was ergibt:
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)