Digbrag 0 Denunciar post Postado Março 15, 2014 Bom dia gente, tudo bem? Estou tentando ordenar registros por uma coluna varchar que segue o padrão ABC001. A ordem segue correta até ABC099, o problema é que a o proximo registro fica ABC1000 e depois de ABC1009 é que aparece o ABC100... Ja pesquisei bastante mas não encontrei nada que resolvesse meu caro... minha esperança esta em vcs.... Abaixo mostro os dados reais da tabela: Coluna referencia ...PAS095 PAS096 PAS098 PAS099 PAS1000 PAS1001(A) PAS1001(B) PAS1002(A) PAS1002(B) PAS1003 PAS1004 PAS1005 PAS1006 PAS1007 PAS1008 PAS1009 PAS101 PAS1010 PAS1011 ... Se alguem souber a direção, por favor indique, estou precisando de um norte! Valeeeeu Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 15, 2014 Tente Order by substr(coluna,1,3) , (cast trim(substr(coluna,4,4)) as int) Compartilhar este post Link para o post Compartilhar em outros sites
Digbrag 0 Denunciar post Postado Março 15, 2014 Obrigado pela tentativa Motta, mas não funcionou... exibe esse erro: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trim(substr(referencia,4,4)) as int) limit 1000' at line 6 A query completa ficou assim: SELECT referencia FROM produto WHERE categoria = 7 ORDER BY substr(referencia,1,3), (cast trim(substr(referencia,4,4)) as int) LIMIT 1000 Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 15, 2014 http://www.gentevirtual.com/artigos/como-converter-uma-string-para-integer-no-mysql/ substr(referencia,1,3), convert(trim(substr(referencia,4,4)),signed) O cast era para converter para inteiro, tente com convert Compartilhar este post Link para o post Compartilhar em outros sites
Digbrag 0 Denunciar post Postado Março 15, 2014 Uhuuuuuuuu!! Grande Motta! Revolveu mesmo!! Obrigado cara, funcionou certinho... Solução: substr(coluna,1,3), convert(trim(substr(coluna,4,4)),signed) Compartilhar este post Link para o post Compartilhar em outros sites