Artigos de Setembro dAmerica/New_York 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

    Postado em 4/09/2007