sql >> Base de Datos >  >> RDS >> Mysql

Orden de MySql por (varchar) fecha en Mmm-dd-yyyy

Quiere el STR_TO_DATE() función para convertir su columna varchar existente en un valor de fecha.

Definitivamente recomendaría crear una nueva columna y usar STR_TO_DATE() para copiar el valor de su columna existente en la nueva columna, en lugar de usar STR_TO_DATE() directamente en el ORDER BY de su SELECT .

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

Si no puede cambiar la estructura de la tabla, puede ordenar la columna existente de esta manera:

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