Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Abfrage - Aufzeichnungen zwischen heute und den letzten 30 Tagen

Sie müssen DATE_FORMAT anwenden im SELECT -Klausel, nicht WHERE Klausel:

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

Beachten Sie auch, dass CURDATE() gibt nur das DATE zurück Teil des Datums, also wenn Sie create_date speichern als DATETIME Wenn der Zeitabschnitt ausgefüllt ist, wählt diese Abfrage nicht die heutigen Datensätze aus.

In diesem Fall müssen Sie NOW verwenden stattdessen:

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