Função que substitui acentuação
Script que recebe frase com acentuação e retorna sem acentuação.
por Darci Leandro
Olá pessoal,
Quando você estiver com problemas de acentuação com os seus dados, você poderá utiliza a função abaixo para amenizar a situação.
Informando a frase inteira com acentuação a função irá retirar todos os acentos existentes e te retornar a mesma frase, porém, agora sem acentuação.
Script
CREATE FUNCTION F_ACENTO(@Texto varchar(8000))
returns varchar(8000)
AS
BEGIN
declare @SemAcento varchar(300)
select @SemAcento = replace(@Texto,'á','a')
select @SemAcento = replace(@SemAcento,'à','a')
select @SemAcento = replace(@SemAcento,'ã','a')
select @SemAcento = replace(@SemAcento,'â','a')
select @SemAcento = replace(@SemAcento,'é','e')
select @SemAcento = replace(@SemAcento,'è','e')
select @SemAcento = replace(@SemAcento,'ê','e')
select @SemAcento = replace(@SemAcento,'í','i')
select @SemAcento = replace(@SemAcento,'ì','i')
select @SemAcento = replace(@SemAcento,'î','i')
select @SemAcento = replace(@SemAcento,'ó','o')
select @SemAcento = replace(@SemAcento,'ò','o')
select @SemAcento = replace(@SemAcento,'ô','o')
select @SemAcento = replace(@SemAcento,'õ','o')
select @SemAcento = replace(@SemAcento,'ú','u')
select @SemAcento = replace(@SemAcento,'ù','u')
select @SemAcento = replace(@SemAcento,'û','u')
select @SemAcento = replace(@SemAcento,'ü','u')
select @SemAcento = replace(@SemAcento,'ç','c')
return (UPPER(@SemAcento))
END
Acessando a Function
Nesse caso estou passando uma frase com acentos para a função.
O resultado será a frase inteira novamente, porém, sem os acentos.
Conclusão
Esse script é ideal caso sua base esteja armazenando dados sem acentos e seu usuário realiza pesquisa utilizando acentuação, então, utilizando essa função você poderá pesquisar no banco de dados e retornar a informação correta para seu usuário final.
Boa sorte a todos e até a próxima...