Heim >Datenbank >MySQL-Tutorial >Warum gibt meine SQLite-Abfrage alle Datumsangaben statt des angegebenen Bereichs zurück?
SQLite-Fehler bei der Datumsbereichsabfrage: behoben
Wenn Sie SQLite zum Erstellen eines Verkaufsberichts verwenden, geben die Abfrageergebnisse alle Daten statt Daten innerhalb des angegebenen Bereichs zurück. Der folgende Abfragecode wird verwendet:
<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "11/1/2011" AND "11/8/2011";</code>
Ursache des Problems:
SQLite erfordert Datumsangaben im Format JJJJ-MM-TT. Datumsangaben und Abfragezeichenfolgen in der Datenbank folgen jedoch nicht diesem Format. Daher interpretiert SQLite „Datum“ als Zeichenfolge und nicht als Datum.
Lösung:
Um dieses Problem zu beheben, stellen Sie sicher, dass sowohl das Datum als auch die Abfragezeichenfolge in der Datenbank dem Format JJJJ-MM-TT entsprechen. Die richtige Abfrage sollte so aussehen:
<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "2011-11-01" AND "2011-11-08";</code>
Das obige ist der detaillierte Inhalt vonWarum gibt meine SQLite-Abfrage alle Datumsangaben statt des angegebenen Bereichs zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!