Pular para o conteúdo
  • Este tópico contém 7 respostas, 1 voz e foi atualizado pela última vez 1 ano, 1 mês atrás por DiogoRSS.
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #76945
    Avatar de DiogoRSSDiogoRSS
    Participante

      Existe alguma função para retirar acentos de uma varchar/char no ORACLE?

      #76947
      Avatar de TailorTailor
      Participante

        olá,
        Qual versão do oracle vc esta usando?

        #76965
        Avatar de Marcio68AlmeidaMarcio68Almeida
        Participante

          Tente 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;

          #76974
          Avatar de DiogoRSSDiogoRSS
          Participante

            Utilizo a versão 9i do ORACLE.

            #77008
            Avatar de drumonddrumond
            Participante

              a funcao replace pode ser usada tambem dentro do select ex:
              select replace(‘ação’,’çã’,’ca’) from dual

              replace(VARIAVEL,’SEQ CARACTER COM ACENTO’,’SEQ SEM ACENTO’)

              🙂

              #77152
              Avatar de Rodrigo AlmeidaRodrigo Almeida
              Participante

                Olá,

                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

                #77547
                Avatar de claytonrochaclaytonrocha
                Participante

                  Caso seja problemas de compatibilidade de acentos para o idioma português utilize o caracterset WE8ISO8859P1

                Visualizando 7 posts - 1 até 7 (de 7 do total)
                • Você deve fazer login para responder a este tópico.
                plugins premium WordPress