Ontem estava desenvolvendo uma Função para retirar os acentos de uma determinada Coluna, quando após algumas pesquisas descobri uma função super simples do próprio Oracle.
> Função Translate
Select TRANSLATE ('Testando a Função Translate - Retira Acentuação', 'ŠŽšžŸÁÇÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕËÜÏÖÑÝåáçéíóúàèìòùâêîôûãõëüïöñýÿ', 'SZszYACEIOUAEIOUAEIOUAOEUIONYaaceiouaeiouaeiouaoeuionyy') As TRANSLATE FROM DUAL;
Analisando a Função, de certa forma ela é parecida com o Replace, porém a diferença é que no Replace não seria possível fazer a substituição da letra acentuada por a letra sem acento em um único argumento.
Foi aí que utilizei a função no meu UPDATE !
Bom... Primeiro vamos visualizar a Tabela - A coluna Descrição com palavras acentuadas.
UPDATE TB_PALAVRAS_ACENTUADAS SET DESCRICAO = TRANSLATE (''||DESCRICAO||'', 'ŠŽšžŸÁÇÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕËÜÏÖÑÝåáçéíóúàèìòùâêîôûãõëüïöñýÿ', 'SZszYACEIOUAEIOUAEIOUAOEUIONYaaceiouaeiouaeiouaoeuionyy');
Após o UPDATE, todas as palavras acentuadas tiveram o seu acento removido/substituído.

Abraços,
Bruno Duarte.
Muito obrigado! Ajudou muito
ResponderExcluirtóp
ResponderExcluirSimples e pratico, obrigado
ResponderExcluir