Abrufen von Datensätzen basierend auf dem heutigen Datum in MySQL
Bei der Arbeit mit Datenbanken ist es oft notwendig, Ergebnisse basierend auf bestimmten Datums- oder Zeitkriterien zu filtern . Im Fall von MySQL kann das Abrufen von Datensätzen, bei denen eine Datumsspalte mit dem heutigen Datum übereinstimmt, mit dem folgenden Ansatz erreicht werden:
Die ursprüngliche Abfrage:
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE users.signup_date = CURDATE()
hat ein kleines Problem: Sie vergleicht das Der gesamte in der Spalte signup_date gespeicherte datetime-Wert wird zum Ergebnis von CURDATE(), das nur das aktuelle Datum ohne die Zeitkomponente darstellt. Dieser Vergleich schlägt wahrscheinlich fehl.
Um dies zu beheben, können Sie die Funktion DATE() verwenden, um nur die Datumskomponente aus der Spalte signup_date zu extrahieren und so einen ordnungsgemäßen Vergleich mit dem aktuellen Datum sicherzustellen:
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE DATE(signup_date) = CURDATE()
Mit dieser Änderung wertet MySQL aus, ob der Datumsteil der Spalte „signup_date“ mit dem aktuellen Datum übereinstimmt, und filtert Datensätze heraus, die dieses Kriterium nicht erfüllen.
Das obige ist der detaillierte Inhalt vonWie rufe ich Datensätze basierend auf dem heutigen Datum in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!