ich ein paar timestamped Zeilen (die ‚Datetime‘ Datentyp)select * from table where datetime in Monat (ohne Index zu brechen)
ich alle Zeilen auswählen möchten, die einen Zeitstempel haben also innerhalb ein bestimmter Monat.
Die Spalte ist indiziert, so dass ich MONTH (timestamp) = 3 nicht ausführen kann, da dies diesen Index unbrauchbar macht.
Wenn ich Jahr und Monat Variablen (in Perl), gibt es ein schrecklich bisschen SQL Ich mag verwenden:
timestamp BETWEEN DATE($year, $month, 0) AND DATE($year, $month, 31);
Aber schöner, und tatsächlich funktioniert?
Darf ich annehmen, dass Sie alle Zeilen eines bestimmten Monat über _alle_ Jahren wollen? – Arthur
Ein bestimmter einzelner Monat. – aidan