„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum ist es beim Vergleich von Datumsangaben mit MySQLs DATE_FORMAT wichtig, dasselbe Format zu verwenden?

Warum ist es beim Vergleich von Datumsangaben mit MySQLs DATE_FORMAT wichtig, dasselbe Format zu verwenden?

Veröffentlicht am 08.11.2024
Durchsuche:394

When Comparing Dates with MySQL\'s DATE_FORMAT, Why Is Using the Same Format Crucial?

Datumsvergleich mit MySQL DATE_FORMAT

Beim Vergleichen von Datumsangaben mit der DATE_FORMAT-Funktion von MySQL ist es wichtig zu verstehen, dass das von Ihnen gewählte Format das Vergleichsergebnis beeinflusst .

Im angegebenen Beispiel enthält die Tabelle Datumsangaben im Format „%d-%m-%Y“ und die Abfrage versucht, sie im gleichen Format zu vergleichen. Dies führt jedoch zu falschen Ergebnissen, da „28-10-2012“ lexikografisch größer ist als „02-11-2012“.

Um dieses Problem zu beheben, wird empfohlen, Datumsangaben als Datumsangaben und nicht als Zeichenfolgen zu vergleichen. Die richtige Abfrage sollte lauten:

select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';

Hier extrahiert die date()-Funktion die Datumskomponente aus dem Startzeitfeld, während date '2012-11-02' den Vergleich angibt Datum im Format Jahr-Monat-Wert. Dadurch wird sichergestellt, dass der Vergleich korrekt als Datumsangaben durchgeführt wird.

Wenn starttime ein DATETIME-Feld ist, sollten Sie die Verwendung der folgenden Abfrage in Betracht ziehen, um wiederholte Konvertierungen zu vermeiden:

select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';

Im Allgemeinen ist es ratsam, den ISO-8601-Standard für die Datumsformatierung zu verwenden, z. B. y-M-d. Die obigen Abfragen zeigen jedoch, wie Datumsvergleiche mithilfe des bereitgestellten Formats durchgeführt werden.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729739877 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3