SELECT * FROM tableWithDates t WHERE month(t.start) >= 11 AND month(t.finish) < 3
3 月 1 日が必要な場合は、次のようになります。
SELECT * FROM tableWithDates t WHERE month(t.start) >= 11 AND (month(t.finish) < 3 OR month(finish) <= 3 AND day(finish)<=1)
これを実行するデータのサイズによって異なります。MySQL は計算列のインデックスを使用できないため、パフォーマンスの問題が発生する可能性があります。これに遭遇した場合は、月および/または日を別々の列に吐き出すことをお勧めします。
編集:「2008-02-29」として1つのパラメーター入力が与えられた場合
SELECT * FROM tableWithDates t
WHERE
month(t.start) >= month('2008-02-29') AND day(t.start) >= day('2008-02-29')
AND month(t.finish) <= month('2008-02-29') AND day(t.finish) <= day('2008-02-29')