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

hvordan får jeg måned fra dato i mysql

Du var tæt på - fik sammenligningen baglæns (forudsat startDate er en DATETIME eller TIMESTAMP datatype):

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

Forbehold:

Alternativer:

Fordi brug af funktioner på kolonner ikke kan bruge indekser, ville en bedre tilgang være at bruge BETWEEN og STR_TO_DATE funktioner:

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

Se dokumentationen for formateringssyntaks.

Reference:



  1. Skrive forespørgsel til flere tabeller i php

  2. Bedste praksis for fejlhåndtering ved brug af PDO

  3. Opret tabel, hvis den ikke findes fra mysqldump

  4. SQL UPDATE med underforespørgsel, der refererer til den samme tabel i MySQL