Vous voulez le STR_TO_DATE()
pour convertir votre colonne varchar existante en une valeur de date.
Je recommanderais certainement de créer une nouvelle colonne et d'utiliser STR_TO_DATE()
pour copier la valeur de votre colonne existante dans la nouvelle colonne, plutôt que d'utiliser STR_TO_DATE()
directement dans le ORDER BY
de votre SELECT
.
UPDATE archive SET newdate = STR_TO_DATE(crapdate,'%b-%e-%Y');
Si vous ne pouvez pas modifier la structure du tableau, vous pouvez trier la colonne existante comme ceci :
SELECT * FROM archive ORDER BY STR_TO_DATE(crapdate,'%b-%e-%Y') DESC;