suit: MySQL Abfrage

Beitrag lesen

SELECT * FROM calendar WHERE DATE_FORMAT(date,'%Y-%m') = '2012-01'

Ja, das ist eine Lösung - aber ein Datum in einen String zu konvertieren und diesem dann für einen Vergleich heranziehen ist etwas hölzern.

SELECT * FROM calendarWHEREdate BETWEEN '2012-01-15' AND '2012-01-30'

Das mag in diesem Fall funktionieren, aber du willst dir doch nicht ernsthaft die nächsten 14 Tage manuell ausrechnen - inklusive Schalttagen?

gibt es einen bessere Lösung?

Ja.