Heim >Datenbank >MySQL-Tutorial >Wie ordne ich Datumsangaben im TT/MM/JJJJ-Format in MySQL richtig an?

Wie ordne ich Datumsangaben im TT/MM/JJJJ-Format in MySQL richtig an?

DDD
DDDOriginal
2024-12-08 11:35:15744Durchsuche

How to Correctly Order Dates in DD/MM/YYYY Format in MySQL?

Wie handhabe ich die Datumsreihenfolge für ein bestimmtes Format in MySQL?

Wenn es um die Reihenfolge von Datumsangaben in MySQL geht, ist der typische Ansatz: Verwenden Sie den Modifikator DESC für Formate wie JJJJ-MM-TT. Beim Umgang mit unterschiedlichen Datumsformaten wie TT/MM/JJJJ kommt es jedoch zu Verwirrung.

Im speziellen Fall der Bestellung von Daten im Format TT/MM/JJJJ funktioniert die bereitgestellte Abfrage nicht wie erwartet. Die Abfrage versucht, die DATE_FORMAT-Funktion direkt auf den DATE_FORMAT(Date, '%Y%m%d')-Ausdruck anzuwenden, der nicht mit dem gewünschten Ergebnis übereinstimmt.

Um dieses Problem zu beheben, haben Sie zwei Hauptoptionen:

  1. Nur ​​das Ausgabedatum formatieren: Wenn das Ziel ausschließlich darin besteht, das Datum anzuzeigen im Format TT/MM/JJJJ, ohne den tatsächlichen Datumswert zu ändern, können Sie die folgende Abfrage verwenden:

    SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate 
    FROM table 
    ORDER BY date DESC 
    LIMIT 0,14

    In dieser Abfrage wird die Funktion DATE_FORMAT auf die Datumsspalte mit dem Wert „%d/%“ angewendet. m/%Y'-Format während des Datenabrufprozesses. Die Ergebnisse zeigen die Daten im gewünschten Format an, während die zugrunde liegenden Datumswerte unverändert bleiben.

  2. Tatsächliche Sortierung nach Tag, Monat und Jahr: Wenn Sie es wirklich möchten Um die Ergebnisse nach Tag, dann nach Monat und schließlich nach Jahr zu ordnen, wie von TT/MM/JJJJ vorgeschlagen, müssen Sie eine benutzerdefinierte Vergleichsfunktion verwenden. Diese Funktion extrahiert die einzelnen Bestandteile des Datums und führt einen lexikografischen Vergleich durch. Hier ist eine Beispielabfrage, die diesen Ansatz implementiert:

    SELECT * FROM table
    ORDER BY FORMAT_DAYOFMONTH(Date), FORMAT_MONTH(Date), FORMAT_YEAR(Date) DESC
    LIMIT 14

Das obige ist der detaillierte Inhalt vonWie ordne ich Datumsangaben im TT/MM/JJJJ-Format in MySQL richtig an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn