Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySql order by (varchar) Datum in Mmm-dd-yyyy

Sie möchten den STR_TO_DATE() Funktion, um Ihre vorhandene varchar-Spalte in einen Datumswert umzuwandeln.

Ich würde auf jeden Fall empfehlen, eine neue Spalte zu erstellen und STR_TO_DATE() zu verwenden um den Wert aus Ihrer vorhandenen Spalte in die neue Spalte zu kopieren, anstatt STR_TO_DATE() zu verwenden direkt im ORDER BY Ihres SELECT .

UPDATE archive SET newdate = STR_TO_DATE(crapdate,'%b-%e-%Y');

Wenn Sie die Tabellenstruktur nicht ändern können, können Sie wie folgt nach der vorhandenen Spalte sortieren:

SELECT * FROM archive ORDER BY STR_TO_DATE(crapdate,'%b-%e-%Y') DESC;