Heim >Datenbank >MySQL-Tutorial >Wie rufe ich MySQL-Datensätze der letzten 30 Tage, einschließlich heute, ab?
So wählen Sie Datenbankeinträge zwischen heute und den letzten 30 Tagen mit MySQL aus
Diese Frage zielt darauf ab, Datensätze abzurufen, die innerhalb der letzten 30 Tage hinzugefügt wurden. mit einer erforderlichen Datumsumrechnung für die Anzeige. Die bereitgestellte Abfrage versucht, DATE_FORMAT innerhalb der WHERE-Klausel zu verwenden, schränkt die Auswahl jedoch nicht wie beabsichtigt ein.
Lösung
Die richtige Lösung besteht darin, DATE_FORMAT in der Klausel anzuwenden SELECT-Klausel:
SELECT DATE_FORMAT(create_date, '%m/%d/%Y') FROM mytable WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Grund für Korrektur
Die DATE_FORMAT-Funktion von MySQL konvertiert ein Datum in ein bestimmtes Format, ändert jedoch nicht den zugrunde liegenden Datumswert. Daher sollte es nach der WHERE-Klausel angewendet werden, die den interessierenden Datumsbereich angibt.
Zusätzliche Überlegungen
Wenn create_date als DATETIME mit einem nicht- Bei einer Nullzeitkomponente werden bei Verwendung von CURDATE() in der WHERE-Klausel nicht die heutigen Datensätze ausgewählt. Um dies zu berücksichtigen, verwenden Sie stattdessen NOW():
SELECT DATE_FORMAT(create_date, '%m/%d/%Y') FROM mytable WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
Das obige ist der detaillierte Inhalt vonWie rufe ich MySQL-Datensätze der letzten 30 Tage, einschließlich heute, ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!