Du vill ha STR_TO_DATE()
funktion för att konvertera din befintliga varchar-kolumn till ett datumvärde.
Jag skulle definitivt rekommendera att skapa en ny kolumn och använda STR_TO_DATE()
för att kopiera värdet från din befintliga kolumn till den nya kolumnen, istället för att använda STR_TO_DATE()
direkt i ORDER BY
av din SELECT
.
UPDATE archive SET newdate = STR_TO_DATE(crapdate,'%b-%e-%Y');
Om du inte kan ändra tabellstrukturen kan du sortera på den befintliga kolumnen så här:
SELECT * FROM archive ORDER BY STR_TO_DATE(crapdate,'%b-%e-%Y') DESC;