MySQL-Datums- und DATETIME-Vergleiche
Der Vergleich datumsähnlicher Zeichenfolgen stellt eine Herausforderung dar, wenn es um als DATETIME gespeicherte Felder geht. Betrachten Sie den Datenbanktabellenkalender, bei dem startTime ein DATETIME-Feld ist. Die Auswahl von Zeilen basierend auf einer Datumszeichenfolge wie „29.04.2010“ erfordert eine sorgfältige Handhabung, um die DATETIME-Werte entsprechend abzugleichen.
LÖSUNG:
Zu erreichen Für den gewünschten Vergleich verwenden Sie die Funktion DATE():
SELECT * FROM `calendar` WHERE DATE(startTime) = '2010-04-29'
Die Funktion DATE() extrahiert die Datumskomponente aus einer DATETIME Wert, wodurch die Zeitinformationen effektiv entfernt werden. Dadurch wird sichergestellt, dass die von Ihnen definierte Datumszeichenfolge („29.04.2010“) direkt mit dem aus dem Feld startTime DATETIME extrahierten Datum verglichen werden kann.
LEISTUNGSOPTIMIERUNG:
Die DATE()-Funktion kann für große Tabellen effizienter sein als alternative Ansätze. Beispielsweise benötigte die SALIL-Lösung mit STRCMP 4,48 Sekunden für eine Tabelle mit 2 Millionen Zeilen, während der DATE()-Ansatz in nur 2,25 Sekunden abgeschlossen war. Berücksichtigen Sie die Funktion DATE() für eine optimale Leistung in solchen Szenarien.
Das obige ist der detaillierte Inhalt vonWie vergleiche ich Datumsangaben effizient mit MySQL-DATETIME-Feldern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!