sql >> Database >  >> RDS >> Mysql

MySQL-query - Records tussen vandaag en de afgelopen 30 dagen

U moet DATE_FORMAT . toepassen in de SELECT clausule, niet de WHERE clausule:

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()

Merk ook op dat CURDATE() geeft alleen de DATE . terug deel van de datum, dus als je create_date . opslaat als een DATETIME met het tijdsgedeelte gevuld, zal deze zoekopdracht de records van vandaag niet selecteren.

In dit geval moet u NOW . gebruiken in plaats daarvan:

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()


  1. Verander databaseresultaat in array

  2. Postgres-query om te controleren of een string een getal is

  3. Hoe duplicaten in SQL te verwijderen

  4. De SQL Server-hoofddatabase herstellen