Select não interpreta parenteses " ( ) "

12 respostas Resolvido
J

Estou precisando de um help, meu cliente possuía um banco MySQL e em uma certa tabela existiam registros de cidades, em algumas cidades haviam por exemplo (RS) Porto Alegre e outras simplesmente Porto Alegre acontece que no order by name do MySQLele interpreta o “( )” e alinha todas as cidades primeiro as com parenteses e depois as sem, porém migramos para Oracle recentemente e agora o oracle não interpreta os parenteses no order by ficando ordenado de maneira diferente do que o cliente estava acostumado.

Minha pergunta, existe alguma configuração que eu possa realizar para o Oracle interpretar os parenteses como caracteres no Order By?

select * from cmn_groups order by name

Como resolver?

12 Respostas

D

Demonstre a sua SQL?

J

select * from cmn_groups order by name

D

Será que na transferência de um banco para o outro não houve trunca nesses registro, será que Oracle não fez algum converte, porque o Ordernação funcional igual para todos os bancos?

Dê uma observação como está configurado a coleção de carecteres do seu banco (collation) e verifique se é da mesma que a atual do Oracle?

J

Podes me auxiliar neste procedimento? Não costumo mexer muito em banco…

E
Solucao aceita

Jefferson, você pode tentar isso:

order by case when name like '(%' then '001' else name end

Isso vai fazer com que os nomes que começam com parênteses sejam priorizados na ordenação.

J

boa idéia, obrigado.

E

Marca como resolvida a pergunta. :slight_smile:

J

Assim que eu encontrar onde fica isso :sweat:

P

Jefferson tem que editar o título do tópico e coloca RESOLVIDO na frente

D

Curiosidade: aonde tá escrito isso?

P
D

Aonde tem 3 pontinhos clique e vai abrir mais opções, tem um Checkbox selecione para finalizar seu questionamento creditando aquela resposta sendo essa a solução do seu problema!

Observe na figura:

Criado 27 de junho de 2016
Ultima resposta 30 de jun. de 2016
Respostas 12
Participantes 4