Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie bekomme ich monat ab datum in mysql

Sie waren nah dran - haben den Vergleich rückwärts gemacht (unter der Annahme von startDate ist ein DATETIME- oder TIMESTAMP-Datentyp):

SELECT * 
  FROM table 
 WHERE amount > 1000 
   AND MONTH(dateStart) = {$m}

Warnhinweise:

Alternativen:

Da die Verwendung von Funktionen für Spalten keine Indizes verwenden kann, wäre ein besserer Ansatz die Verwendung von BETWEEN und das STR_TO_DATE Funktionen:

WHERE startdate BETWEEN STR_TO_DATE([start_date], [format]) 
                    AND STR_TO_DATE([end_date], [format])

Informationen zur Formatierungssyntax finden Sie in der Dokumentation.

Referenz: