Doch, kann es. Es wird nur nicht sonderlich schnell, denn MySQL wird es als
Scan ausführen und dabei für jede Zeile den DATE Wert in einen String
konvertieren und den dann mit LIKE mit dem Suchstring vergleichen. Die
bessere Variante verwendet BETWEEN, um alle Zeilen vom Februar zu finden:
SELECT ... WHERE date BETWEEN '2019-02-01' AND '2019-02-28';
oder auch
SELECT ... WHERE date >= '2019-02-01' AND date < '2019-03-01';
(man beachte das >= aber <)
Beide Varianten könnten einen Index auf der Spalte `date` nutzen.
@Bernhard: das Problem dürfte weniger deine Query sein, sondern was in der
Tabelle steht. Wahrscheinlich hast du da eine Zeile mit einem kaputten Datum
wie z.B. dem 30. Februar.
Zeig halt mal deine ganze Query und die ganze Fehlermeldung und die Zeilen
aus deiner Tabelle für den Februar.