Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tiago_BB

Problema Order By no oracle

Recommended Posts

Ola pessoal.

 

Estou ocm um problema ao tentar ordenar colunas de uma tabela.

 

Tenho os seguintes registros em uma tabela:

 

CODIGO 
---------- 
PAIS5 
PAIS2 
PAIS3 
PAIS4 
PAIS122 

 

O que acontece! Caso eu efetue um ORDER BY CODIGO, me retorna da seguinte maneira:

 

CODIGO 
---------- 
PAIS122 
PAIS2 
PAIS3 
PAIS4 
PAIS5 

 

 

Ja tentei fazer o seguinte:

 

ORDER BY TO_NUMBER('CODIGO'), porém retorna errado também:

 

CODIGO 
---------- 
PAIS5 
PAIS2 
PAIS3 
PAIS4 
PAIS122 

 

Alguém tem alguma sugestão?

 

Agradeço desde ja!

 

O mesmo acontece no SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o ideal já que o "radical" é o mesmo seria isso ser um campo numérico sem o PAIS na frente

 

mas já que fez texto pelo menos padronize usando os zeros na frente dos numeros para ficarem com o mesmo tamanho assim seu ORDER BY dará certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que o order by sai na ordem alfa que é o type da coluna.

 

Existe alguma lei de formação do nome que permita separa a parte alfa da numérica ?

 

Uma solução seria quebrar o campo em duas partes e ordenar por ambas.

 

Uma vez tive este problema e resolvi criando um campo na tabela que era a ordem, mas no caso TODOS os regristros teriam de ser usados (geração do SIP da ANS era o caso) , para casos em que nem sempre todos os registros serão usados isto não resolve.

 

Chegou a ver alguma coisa na documentação ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.