Mysql
 sql >> Database >  >> RDS >> Mysql

come ottengo il mese dalla data in mysql

Eri vicino - il confronto è tornato indietro (supponendo startDate è un tipo di dati DATETIME o TIMESTAMP):

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

Avvertenze:

Alternative:

Poiché l'utilizzo delle funzioni sulle colonne non può utilizzare gli indici, un approccio migliore sarebbe utilizzare BETWEEN e il STR_TO_DATE funzioni:

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

Consulta la documentazione per la sintassi di formattazione.

Riferimento: