Es ist möglich, DATE-Strings wie „2010-04-29“ mit String-Werten zu vergleichen, die als DATETIME gespeichert sind in MySQL. Dies kann nützlich sein, wenn Sie über eine Datumsauswahl verfügen, die Daten filtert, und Sie eine Tabelle basierend auf einem bestimmten Datum abfragen möchten.
Um eine DATE-Zeichenfolge mit einer DATETIME-Zeichenfolge zu vergleichen, können Sie die Funktion DATE() verwenden um das Datum aus dem Feld DATETIME zu extrahieren. Die folgende Abfrage wählt beispielsweise alle Zeilen aus der Tabelle „Kalender“ aus, in denen der DATE()-Wert des Felds „startTime“ gleich „29.04.2010“ ist:
SELECT * FROM `calendar` WHERE DATE(startTime) = '2010-04-29'
Eine andere Möglichkeit Um DATE-Strings mit DATETIME-Strings zu vergleichen, muss die Funktion CURDATE() verwendet werden. Die Funktion CURDATE() gibt das aktuelle Datum als DATE-String zurück. Anschließend können Sie den CURDATE()-Wert mit der DATETIME-Zeichenfolge vergleichen, um festzustellen, ob die beiden Datumsangaben identisch sind. Die folgende Abfrage wählt beispielsweise alle Zeilen aus der Tabelle „Kalender“ aus, in denen das Feld „startTime“ dem aktuellen Datum entspricht:
SELECT * FROM `calendar` WHERE startTime = CURDATE()
Beim Vergleich von DATE-Strings mit DATETIME-Strings ist es wichtig, Folgendes zu beachten: Denken Sie daran, dass die Funktion DATE() die Zeitangabe aus dem Feld DATETIME abschneidet. Das heißt, wenn Sie über zwei DATETIME-Strings verfügen, die dasselbe Datum, aber unterschiedliche Uhrzeiten darstellen, gibt die Funktion DATE() für beide Strings denselben Wert zurück. Daher unterscheiden die obigen Abfragen nicht zwischen Zeilen, die unterschiedliche Zeiten am selben Datum haben.
Wenn Sie DATETIME-Zeichenfolgen mit unterschiedlichen Zeiten vergleichen müssen, können Sie die Operatoren >= und <= verwenden um die beiden Zeichenfolgen zu vergleichen. Die folgende Abfrage wählt beispielsweise alle Zeilen aus der Tabelle „Kalender“ aus, in denen das Feld „startTime“ zwischen „29.04.2010 10:00“ und „29.04.2010 12:00“ liegt:
SELECT * FROM `calendar` WHERE startTime >= '2010-04-29 10:00' AND startTime <= '2010-04-29 12:00'Mithilfe der oben beschriebenen Techniken können Sie DATE-Strings problemlos mit DATETIME-Strings in MySQL vergleichen. Dies kann nützlich sein, um Daten zu filtern, Informationen zu bestimmten Daten abzurufen und andere datumsbezogene Aufgaben auszuführen.
Das obige ist der detaillierte Inhalt vonWie vergleiche ich DATE-Strings mit DATETIME-Strings in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!