— Cria Tabela de Exemplo
Create
Table #Textos (Indice int identity(1,1), Texto VarChar(1000))
–insere caracteres com acentos
Insert
Into #Textos (Texto) Values (‘teste teste é, teste teste á’)
Insert
Into #Textos (Texto) Values (‘teste teste é, ãõâêî teste á’)
Insert
Into #Textos (Texto) Values (‘teste ãõâêî é, teste teste á’)
Insert
Into #Textos (Texto) Values (‘teste teste á, ãõâêî’)
Insert
Into #Textos (Texto) Values (‘teste teste’)
— Inicio da Rotina
create
table #TabelaAcentos (Indice Int Identity(1,1), Acento char(01), SemAcento Char(01))
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘á’,‘a’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘é’,‘e’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘í’,‘i’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ó’,‘o’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ú’,‘u’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘à’,‘a’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘è’,‘e’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ì’,‘i’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ò’,‘o’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ù’,‘u’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ã’,‘a’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘õ’,‘o’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘â’,‘a’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ê’,‘e’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘î’,‘i’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ô’,‘o’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘û’,‘u’)
Insert
Into #TabelaAcentos (Acento, SemAcento ) Values (‘ç’,‘c’)
declare
@id int,@id_acento int,@old_char char(1), @new_char char(1),@texto varchar(1000)
set
@id=1
while
@id <= (select COUNT(1) from #Textos)
begin
select
@texto=Texto from #Textos where indice=@id
set @id_acento=1
while @id_acento <= (select count(1) from #TabelaAcentos)
begin
select @old_char=Acento, @new_char=SemAcento from #TabelaAcentos where Indice=@id_acento
set @texto=REPLACE(@Texto,@old_char,@new_char)
set @id_acento=@id_acento+1
end
select @texto
set
@id=@id+1
end