Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment puis-je obtenir le mois à partir de la date dans mysql

Vous étiez proche - vous avez obtenu la comparaison à l'envers (en supposant que startDate est un type de données DATETIME ou TIMESTAMP) :

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

Mises en garde :

Alternatives :

Parce que l'utilisation de fonctions sur des colonnes ne peut pas utiliser d'index, une meilleure approche serait d'utiliser BETWEEN et le STR_TO_DATE fonctions :

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

Voir la documentation pour la syntaxe de formatage.

Référence :