Translate usando caracteres com til (~)

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
rtadeum
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 28 Mar 2012 3:15 pm

Primeiramente, um ótimo natal a todos!
Pessoal, estou com um problema no translate para converter caracteres com til(~)
Quando eu tento converter por exemplo:

Selecionar tudo

select translate( 'ã',  'õÕãÃ','oOaA') from dual
está retornado (o) ao invés de (a) e também não respeita upper ou lower . O fato é que ele esta buscando a primeira ocorrência que estiver no parametro ex:

Selecionar tudo

select translate( 'Ã',  'õÕãÃ','oOaA') from dual -- retorna o
select translate( 'Ã',  'ÕõãÃ','OoaA') from dual -- retorna O
select translate( 'Ã',  'ãÃÕõ','aAOo') from dual -- retorna a
select translate( 'Ã',  'ÃãÕõ','AaOo') from dual -- retorna A 
Alguém poderia dar um help?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Acho que isso tem a ver com a lingua do seu banco.
Veja, eu rodo aqui e funciona normal:

Selecionar tudo

SQL> select translate( 'Ã',  'õÕãÃ','oOaA') from dual
  2  /
 
TRANSLATE('Ã','ÕÕÃÃ','OOAA')
----------------------------
A
 
SQL> 
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante