Heim >Datenbank >MySQL-Tutorial >Wie kann ich MySQL-Datensätze nur basierend auf dem Datum und ohne Berücksichtigung der Zeit effizient abrufen?
Problem:
Sie haben eine MySQL-Tabelle mit einer Datetime-Spalte und erfordern eine Möglichkeit, Datensätze auszuwählen, die in einen bestimmten Tag fallen, ohne die Zeit zu berücksichtigen Komponente.
Lösung:
Um dies zu erreichen, vermeiden Sie die Verwendung der DATE()-Funktion in Ihrer WHERE-Klausel, da sie die Leistung beeinträchtigt und die Indexnutzung verhindert. Verwenden Sie stattdessen den BETWEEN-Operator, um einen Tagesbereich anzugeben, der das gewünschte Datum umfasst.
SELECT * FROM tablename WHERE columname BETWEEN '2012-12-25 00:00:00' AND '2012-12-25 23:59:59'
Alternativ können Sie bei MySQL-Versionen Einschränkungen bei der Angabe von „23:59:59“ für das Tagesende haben kann die folgende Abfrage verwenden:
SELECT * FROM tablename WHERE columname >= '2012-12-25 00:00:00' AND columname < '2012-12-26 00:00:00'
Dieser Ansatz stellt sicher, dass Sie nur Datensätze für den angegebenen Tag abrufen, ohne dass die Uhrzeit Einfluss darauf hat Komponente.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Datensätze nur basierend auf dem Datum und ohne Berücksichtigung der Zeit effizient abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!