Du vil have STR_TO_DATE()
funktion til at konvertere din eksisterende varchar-kolonne til en datoværdi.
Jeg vil klart anbefale at oprette en ny kolonne og bruge STR_TO_DATE()
for at kopiere værdien fra din eksisterende kolonne til den nye kolonne i stedet for at bruge STR_TO_DATE()
direkte i ORDER BY
af din SELECT
.
UPDATE archive SET newdate = STR_TO_DATE(crapdate,'%b-%e-%Y');
Hvis du ikke kan ændre tabelstrukturen, kan du sortere på den eksisterende kolonne sådan her:
SELECT * FROM archive ORDER BY STR_TO_DATE(crapdate,'%b-%e-%Y') DESC;