sql >> Database >  >> RDS >> Mysql

MySql-volgorde op (varchar) datum in mm-dd-jjjj

U wilt de STR_TO_DATE() functie om uw bestaande varchar-kolom naar een datumwaarde te converteren.

Ik raad je zeker aan om een ​​nieuwe kolom te maken en STR_TO_DATE() te gebruiken om de waarde van uw bestaande kolom naar de nieuwe kolom te kopiëren, in plaats van STR_TO_DATE() te gebruiken direct in de ORDER BY van uw SELECT .

UPDATE archive SET newdate = STR_TO_DATE(crapdate,'%b-%e-%Y');

Als u de tabelstructuur niet kunt wijzigen, kunt u op de bestaande kolom als volgt sorteren:

SELECT * FROM archive ORDER BY STR_TO_DATE(crapdate,'%b-%e-%Y') DESC;


  1. Weinig waarschuwingen [verwacht parameter]

  2. Unieke index over postgresql-partities

  3. Best practices voor het optimaliseren van LAMP-sites voor snelheid?

  4. Koppel partitie LIST aan bestaande tabel in postgres 11