Arquivo mensais:setembro 2007

Ordenando resultados de consultas com valores numéricos

O caso não é incomum, as vezes precisamos ordenar uma consulta por determinada coluna de caracteres, mas que contenha valores numéricos. Se você ordernar um campo desse tipo os resultados irão sair assim:

SELECT numerocontrato FROM contrato ORDER BY numerocontrato ASC

resultado:
* 1
* 10
* 11
* 123
* 1234
* 2
* 25
* 253
* 34

Para resolver esse problema use a função ABS(), assim:

SELECT numerocontrato FROM contrato ORDER BY ABS(numerocontrato) ASC