Select não interpreta parenteses " ( ) "

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?

1 curtida

Demonstre a sua SQL?

select * from cmn_groups order by name

1 curtida

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?

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

1 curtida

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.

2 curtidas

boa idéia, obrigado.

1 curtida

Marca como resolvida a pergunta. :slight_smile:

Assim que eu encontrar onde fica isso :sweat:

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

Curiosidade: aonde tá escrito isso?

1 curtida

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: