A alguns dias precisei ordenar uma consulta, porém o campo a ser ordenado era do tipo varchar, mas continha apenas números.
Aí ja sabe, a ordenação fica errada, tipo: 1,10,2,3,4,5,6,7,8,9 ao invés de 1,2,3,4,5,6,7,8,9,10
Revirando o Google para encontrar uma solução, encontrei a seguinte query:
SELECT codigo FROM sua_tabela ORDER BY codigo + 0 ASC
O fator de somar 0 ao campo, força a ordenação numérica.
Fonte: http://mysqltips.co.uk/


