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

MySQL Vælg sidste måneds data efter current_timestamp

Dette vil give dig den sidste måned:

WHERE dateColumn BETWEEN SUBDATE(CURDATE(), INTERVAL 1 MONTH) AND NOW();

Dette fra starten af ​​måneden:

WHERE dateColumn BETWEEN STR_TO_DATE('2012-09-01', '%Y-%m-%d') AND NOW();

BETWEEN er ikke noget særligt, det er bare en genvej til

dateColumn <= ... AND dateColumn >= ....

Hmm, jeg gætter på, at NOW()-sammenligningen faktisk ikke er nødvendig, da alle posterne vil være før nu.

Så gør bare:

WHERE dateColumn >= STR_TO_DATE('2012-09-01', '%Y-%m-%d')

Dynamisk start på indeværende måned:

WHERE dateColumn >= CURDATE() - INTERVAL DAY(CURDATE())-1 DAY

Alt dette gør er at udtrække dagen i måneden fra den aktuelle dato og derefter trække de mange dage mindre fra den.



  1. MySQL - Entity :Værdien for kolonne 'IsPrimaryKey' i tabellen 'TableDetails' er DBNull

  2. 4 måder at liste alle visninger i en MariaDB-database

  3. Opdater indhold automatisk, hvis databasen ændres

  4. Overvågning af læse-/skriveforsinkelse