sql >> Database >  >> RDS >> Mysql

hoe krijg ik de maand vanaf de datum in mysql

Je was dichtbij - kreeg de vergelijking achterstevoren (ervan uitgaande dat startDate is een DATETIME of TIMESTAMP datatype):

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

Voorbehoud:

Alternatieven:

Omdat het gebruik van functies op kolommen geen indexen kan gebruiken, zou een betere benadering zijn om BETWEEN te gebruiken en de STR_TO_DATE functies:

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

Zie de documentatie voor de opmaaksyntaxis.

Referentie:



  1. Hoe PgBackRest te installeren

  2. BESTELLEN OP RAND() alternatief

  3. Haal uit de database, maar de laatste 30 dagen

  4. Converteer het ontsnapte Unicode-teken terug naar het werkelijke teken in PostgreSQL