Heim >Datenbank >MySQL-Tutorial >Wie rufe ich MySQL-Daten innerhalb eines bestimmten Datumsbereichs korrekt ab?
Abrufen von Daten zwischen zwei Datumsangaben in MySQL
Beim Umgang mit Datums-/Uhrzeitwerten in MySQL ist es wichtig, den Mitternachtsstandard für kurze Datumsformate zu berücksichtigen . Dies kann zu unerwarteten Ergebnissen führen, wenn Daten innerhalb eines Datumsbereichs abgefragt werden.
Wenn Sie beispielsweise Datensätze auswählen möchten, bei denen die Spalte „created_at“ zwischen „01.12.2011“ und „06.12.2011“ liegt, ' mit der folgenden Abfrage:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
gibt möglicherweise nicht die gewünschten Ergebnisse zurück. Dies liegt daran, dass das kurze Datumsformat Zeiten implizit als Mitternacht interpretiert.
Um dieses Problem zu beheben, passen Sie die Abfrage so an, dass „2011-12-07“ als Obergrenze verwendet wird:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
Alternativ können Sie die Funktion date_add() von MySQL oder den Operator BETWEEN verwenden, um dasselbe zu erreichen Ergebnis:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
SELECT `users`.* FROM `users` WHERE created_at BETWEEN '2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY)
Durch Berücksichtigung der standardmäßigen Mitternachtsinterpretation von kurzen Datumsformaten können Sie Daten innerhalb bestimmter Datumsbereiche in MySQL genau abrufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich MySQL-Daten innerhalb eines bestimmten Datumsbereichs korrekt ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!