Heim >Datenbank >MySQL-Tutorial >Warum gibt meine Datumsbereichsabfrage mit der MySQL-Klausel „BETWEEN' keine Ergebnisse zurück?
Lösen Sie das Problem mit der MySQL-Datumsbereichsabfrage
In diesem Artikel wird ein häufiges Problem untersucht, das bei der Verwendung von MySQL zum Abfragen eines bestimmten Datumsbereichs auftritt. Die folgende Abfrageanweisung:
<code class="language-sql">SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')</code>
Obwohl Daten in der Datenbank vorhanden sind, die die Bedingung erfüllen, kann die Anweisung keine Ergebnisse zurückgeben.
Das Problem ist die Reihenfolge der Daten in der BETWEEN
-Klausel. Das zweite Datum ('2010-01-30 14:15:55') liegt vor dem ersten Datum ('2010-09-29 10:15:55'), was zu einem generierten Datumsbereich führt, in dem tatsächlich keine Daten vorhanden sind . Um dies zu beheben, kehren Sie einfach die Datumsreihenfolge um:
<code class="language-sql">SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')</code>
Auf diese Weise findet die Abfrage Objekte mit einem date_field
-Wert zwischen dem 29. September 2010 und dem 30. Januar 2010 und erhält so die erwarteten Ergebnisse.
Weitere Informationen finden Sie in der offiziellen MySQL-Dokumentation: https://www.php.cn/link/4c74dcfeac90df69aed5c8a90125e696
Das obige ist der detaillierte Inhalt vonWarum gibt meine Datumsbereichsabfrage mit der MySQL-Klausel „BETWEEN' keine Ergebnisse zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!