MySQL-Datumsformat TT / MM / JJJJ Abfrage auswählen?


139

Ich bin etwas verwirrt darüber, wie ich nach Datumsformaten bestellen soll.

Für das Format YYYY-MM-DDwürden Sie dies tun:...ORDER BY date DESC...

Wie würden Sie bestellen DD/MM/YYYY?

Das funktioniert nicht:

SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14

Antworten:


152

Sie können STR_TO_DATE()Ihre Zeichenfolgen in MySQL-Datumswerte und ORDER BYdas Ergebnis konvertieren :

ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')

Es ist jedoch ratsam, die Spalte in den DATEDatentyp zu konvertieren, anstatt Zeichenfolgen zu verwenden.


188

Vermutlich möchten Sie nur das Ausgabedatum formatieren? dann ist es das, wonach du suchst

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

Oder möchten Sie tatsächlich nach Tag vor Monat vor Jahr sortieren?


1
Ich möchte die 14 neuesten Daten / Datensätze :) Das Format in der Datenbank ist jedoch "TT / MM / JJJJ"!
K - Die Toxizität in SO nimmt zu.

Ist das Datum in der Datenbank ein tatsächlicher Datumstyp oder ein Zeichenfolgentyp?
Trapper

2
mysql> DESCRIBE Table;und fügen Sie die Ausgabe
Trapper

DATE_FORMAT (Datum, '% a') gibt eine Abkürzung für den Wochentag an. Ich habe dies verwendet, um einige Boxplots und dergleichen in RStudio zu erstellen.
user208145



10
SELECT DATE_FORMAT(COLUMN_NAME, "%d/%m/%Y %h:%i %p");

ODER

SELECT DATE_FORMAT("2019-05-10 19:30:10", "%d/%m/%Y %h:%i %p");

AUSGABE ist 10/05/2019 07:30 PM



4

Wenn die Stunde wichtig ist, die ich verwendet habe str_to_date(date, '%d/%m/%Y %T' ), %Tzeigt die Stunde im Format an hh:mm:ss.


Es wird nicht als Stunde bezeichnet. %Tzeigt den Wert mit Zeitformat. Du hast übrigens meine Gegenstimme bekommen.
Wolverine

3

Die BESTELLUNG NACH einem Datumstyp hängt nicht vom Datumsformat ab. Das Datumsformat dient nur dazu, in der Datenbank dieselben Daten anzuzeigen.


Das Format kann zum Sortieren verwendet werden (wenn jemand es wirklich will, scheint mir seltsam), aber eine solche Sortierung kann nicht auf dem Index basieren, daher ist [b] kostspielig [/ b]. Nur das Sortieren über gut gestaltete Spalten kann mit dem Index ausgeführt werden ( schnell) und vom Server optimiert
Jacek Cz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.