- Este tópico contém 6 respostas, 6 vozes e foi atualizado pela última vez 19 anos atrás por
claytonrocha.
-
AutorPosts
-
28 de outubro de 2006 às 12:00 am #76873
DiogoRSS
ParticipanteExiste alguma função para retirar acentos de uma varchar/char no ORACLE?
28 de outubro de 2006 às 12:38 am #76874Tailor
Participanteolá,
Qual versão do oracle vc esta usando?30 de outubro de 2006 às 3:20 pm #76892Marcio68Almeida
ParticipanteTente esta aqui…
create or replace FUNCTION "TIRA_ACENTOS" ( nome VarChar2 )
Return Varchar2
Is
nom_transformado VarChar2 (100);
Begin
nom_transformado := UPPER (TRIM (nome));nom_transformado := replace(nom_transformado,'Á','A');
nom_transformado := replace(nom_transformado,'À','A');
nom_transformado := replace(nom_transformado,'Ã','A');
nom_transformado := replace(nom_transformado,'Â','A');
nom_transformado := replace(nom_transformado,'Ä','A');
nom_transformado := replace(nom_transformado,'É','E');
nom_transformado := replace(nom_transformado,'Ê','E');
nom_transformado := replace(nom_transformado,'È','E');
nom_transformado := replace(nom_transformado,'Ë','E');
nom_transformado := replace(nom_transformado,'Í','I');
nom_transformado := replace(nom_transformado,'Ì','I');
nom_transformado := replace(nom_transformado,'Î','I');
nom_transformado := replace(nom_transformado,'Ï','I');
nom_transformado := replace(nom_transformado,'Ó','O');
nom_transformado := replace(nom_transformado,'Ò','O');
nom_transformado := replace(nom_transformado,'Õ','O');
nom_transformado := replace(nom_transformado,'Ô','O');
nom_transformado := replace(nom_transformado,'Ö','O');
nom_transformado := replace(nom_transformado,'Ú','U');
nom_transformado := replace(nom_transformado,'Ù','U');
nom_transformado := replace(nom_transformado,'Û','U');
nom_transformado := replace(nom_transformado,'Ü','U');
nom_transformado := replace(nom_transformado,'Ç','C');
nom_transformado := replace(nom_transformado,'.',' ');
nom_transformado := replace(nom_transformado,'_',' ');
nom_transformado := replace(nom_transformado,'-',' ');Return nom_transformado;
end;30 de outubro de 2006 às 7:52 pm #76898DiogoRSS
ParticipanteUtilizo a versão 9i do ORACLE.
1 de novembro de 2006 às 5:23 pm #76927drumond
Participantea funcao replace pode ser usada tambem dentro do select ex:
select replace(‘ação’,’çã’,’ca’) from dualreplace(VARIAVEL,’SEQ CARACTER COM ACENTO’,’SEQ SEM ACENTO’)
🙂
8 de novembro de 2006 às 1:34 am #77058Rodrigo Almeida
ParticipanteOlá,
você tem pode alterar os parâmetros de NLS da sessão, assim, qualquer novo dado não terá acentuação. Utilize o CHARACTER UTF8 e NLS_LANGUAGE=AMERICAN
Abraços,
Rodrigo Almeida
1 de dezembro de 2006 às 11:40 pm #77410claytonrocha
ParticipanteCaso seja problemas de compatibilidade de acentos para o idioma português utilize o caracterset WE8ISO8859P1
-
AutorPosts
- Você deve fazer login para responder a este tópico.