Potrzebujesz STR_TO_DATE()
funkcja konwertująca istniejącą kolumnę varchar na wartość daty.
Zdecydowanie polecam utworzenie nowej kolumny i użycie STR_TO_DATE()
skopiować wartość z istniejącej kolumny do nowej kolumny, zamiast używać STR_TO_DATE()
bezpośrednio w ORDER BY
Twojego SELECT
.
UPDATE archive SET newdate = STR_TO_DATE(crapdate,'%b-%e-%Y');
Jeśli nie możesz zmienić struktury tabeli, możesz posortować istniejącą kolumnę w następujący sposób:
SELECT * FROM archive ORDER BY STR_TO_DATE(crapdate,'%b-%e-%Y') DESC;