sql >> Database teknologi >  >> RDS >> Mysql

MySql bestilles efter (varchar) dato i Mmm-dd-yyyy

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;


  1. php mysql sorter efter dato (Seneste)

  2. At få ActiveRecord / Rails til at bruge faktiske mysql TIMESTAMP-kolonner

  3. spool til .csv-fil ved hjælp af for loop

  4. MySQL-grænse fra faldende rækkefølge