Abfragen von MySQL-Daten im Format TT/MM/JJJJ
In MySQL basiert die Reihenfolge von Daten normalerweise auf dem Format JJJJ-MM-TT , wie im gegebenen Beispiel beschrieben. In bestimmten Szenarien kann es jedoch erforderlich sein, Datumsangaben in einem anderen Format zu sortieren, z. B. TT/MM/JJJJ. In diesem Artikel wird erläutert, wie Sie Ihre Abfrage ändern, um diese alternative Datumsreihenfolge zu erreichen.
Falscher Ansatz:
Der bereitgestellte Code versucht, DATE_FORMAT zu verwenden, um das Datum in eine Zahl umzuwandeln string:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
Dieser Ansatz ist jedoch falsch, da er lediglich die numerischen Zeichenfolgen sortiert, nicht die tatsächlichen Daten.
Richtiger Ansatz:
Um Daten im Format TT/MM/JJJJ richtig zu sortieren, haben Sie zwei Möglichkeiten:
1 . Ausgabe formatieren:
Wenn Sie möchten, dass die Ausgabe nur in TT/MM/JJJJ formatiert wird, ohne die tatsächliche Sortierreihenfolge zu ändern, verwenden Sie die folgende Abfrage:
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
In diesem In diesem Fall bleiben die Datumswerte in ihrem ursprünglichen Format, es wird jedoch eine neue Spalte, niceDate, hinzugefügt, die die Daten im Format TT/MM/JJJJ anzeigt Format.
2. Nach Datumskomponenten sortieren:
Wenn Sie die Daten tatsächlich nach Tag, dann nach Monat und dann nach Jahr sortieren müssen, verwenden Sie eine komplexere Abfrage:
SELECT * FROM table ORDER BY DAY(date) DESC, MONTH(date) DESC, YEAR(date) DESC LIMIT 0,14
Dies Die Abfrage extrahiert die einzelnen Datumskomponenten (Tag, Monat und Jahr) und sortiert sie in absteigender Reihenfolge basierend auf den angegebenen Regeln.
Das obige ist der detaillierte Inhalt vonWie sortiere ich MySQL-Daten im Format TT/MM/JJJJ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!