Mysql
 sql >> Database >  >> RDS >> Mysql

Ordina MySql per (varchar) data in Mmm-gg-aaaa

Vuoi le STR_TO_DATE() funzione per convertire la colonna varchar esistente in un valore di data.

Consiglio vivamente di creare una nuova colonna e di utilizzare STR_TO_DATE() per copiare il valore dalla colonna esistente nella nuova colonna, invece di utilizzare STR_TO_DATE() direttamente nel ORDER BY del tuo SELECT .

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

Se non puoi modificare la struttura della tabella, puoi ordinare la colonna esistente in questo modo:

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