Tiago_BB Postado Fevereiro 19, 2010 Denunciar Share Postado Fevereiro 19, 2010 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 já tentei fazer o seguinte: ORDER BY TO_NUMBER('CODIGO'), porém retorna errado também: CODIGO ---------- PAIS5 PAIS2 PAIS3 PAIS4 PAIS122Alguém tem alguma sugestão? Agradeço desde já!O mesmo acontece no SQL. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Fevereiro 19, 2010 Denunciar Share Postado Fevereiro 19, 2010 Boa tarde Tiago, A ordenação está correta: PAIS122 PAIS2 PAIS3 PAIS4 PAIS5 Apensar do número 122 ser maior que os outros, o order by não o identifica como número, uma vez que o mesmo se encontra em um string. Sendo assim, a ordenação está sendo feita levando em consideração os caracteres. A string PAIS1, alfabeticamente, vem primeiro que as demais. Assim que gostaria que viesse o resultado? PAIS2 PAIS3 PAIS4 PAIS5 PAIS122 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tiago_BB Postado Fevereiro 19, 2010 Autor Denunciar Share Postado Fevereiro 19, 2010 Sim, gostaria que o resultado fosse exatamente esse!Alguma sugestão?Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Fevereiro 20, 2010 Denunciar Share Postado Fevereiro 20, 2010 Bom dia Tiago, você está querendo então uma ordenação própria. Em alguns sistemas, já vi ordenações próprias da seguinte forma: - Cria-se uma coluna "Ordem" (por exemplo) e o próprio usuário identifica, através de números, em qual posição o descritivo aparecerá. O "order by" será por esta coluna. Problemas: - Interessante que todas as linhas estejam enumeradas. - Se forem muitas linhas, fica praticamente impossível a ordenação pelo usuário. Caso sua tabela tenha muitas inserções e esta opção não seja legal, posta aí que a gente procura uma outra coisa... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 20, 2010 Denunciar Share Postado Fevereiro 20, 2010 - Se forem muitas linhas, fica praticamente impossível a ordenação pelo usuário.se todos os codigos estiverem nesse formato PAISXXX, ele pode pegar os numeros do final do codigo por substring e preencher essa coluna convertido pra int. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Tiago_BB
Ola pessoal.
Estou ocm um problema ao tentar ordenar colunas de uma tabela.
Tenho os seguintes registros em uma tabela:
O que acontece! Caso eu efetue um ORDER BY CODIGO, me retorna da seguinte maneira: já tentei fazer o seguinte: ORDER BY TO_NUMBER('CODIGO'), porém retorna errado também:Alguém tem alguma sugestão?
Agradeço desde já!
O mesmo acontece no SQL.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.