Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Ordem MySql por data (varchar) em Mmm-dd-aaaa


Você quer o STR_TO_DATE() função para converter sua coluna varchar existente em um valor de data.

Eu definitivamente recomendo criar uma nova coluna e usar STR_TO_DATE() para copiar o valor de sua coluna existente para a nova coluna, em vez de usar STR_TO_DATE() diretamente no ORDER BY do seu SELECT .
UPDATE archive SET newdate = STR_TO_DATE(crapdate,'%b-%e-%Y');

Se você não puder alterar a estrutura da tabela, poderá classificar a coluna existente assim:
SELECT * FROM archive ORDER BY STR_TO_DATE(crapdate,'%b-%e-%Y') DESC;