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