Ir para o conteúdo principal

Função - Remove acentos

SQL: 

create or replace function remove_acento (i_texto in varchar2) return varchar2
  is v_texto    varchar2(32767);
begin
  v_texto := i_texto;
  v_texto := replace(v_texto,'Ã','A');
  v_texto := replace(v_texto,'Õ','O');
  v_texto := replace(v_texto,'ã','a');
  v_texto := replace(v_texto,'õ','o');
  v_texto := replace(v_texto,'Á','A');
  v_texto := replace(v_texto,'É','E');
  v_texto := replace(v_texto,'Í','I');
  v_texto := replace(v_texto,'Ó','O');
  v_texto := replace(v_texto,'Ú','U');
  v_texto := replace(v_texto,'á','a');
  v_texto := replace(v_texto,'é','e');
  v_texto := replace(v_texto,'í','i');
  v_texto := replace(v_texto,'ó','o');
  v_texto := replace(v_texto,'ú','u');
  v_texto := replace(v_texto,'À','A');
  v_texto := replace(v_texto,'à','a');
  v_texto := replace(v_texto,'Â','A');
  v_texto := replace(v_texto,'Ê','E');
  v_texto := replace(v_texto,'Ô','O');
  v_texto := replace(v_texto,'â','a');
  v_texto := replace(v_texto,'ê','e');
  v_texto := replace(v_texto,'ô','o');
  v_texto := replace(v_texto,'ç','c');
  v_texto := replace(v_texto,'Ç','C');
  v_texto := replace(v_texto,'ü','u');
  v_texto := replace(v_texto,'Ü','U');
  v_texto := replace(v_texto,'º','.');
  v_texto := replace(v_texto,'ª','.');
  v_texto := replace(v_texto,';',' ');
  v_texto := replace(v_texto,'&',' ');
  v_texto := replace(v_texto,chr(39),' ');
  return v_texto;
end;

Chamada da função: 

select remove_acento('Ã ê I ó Ü') from dual 

Retorno: 

A e I o U