REMOVER ACENTUAÇÃO USANDO REPLACE

 
 
 
— 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

Emanuel Peixoto

* Capitão do Exército Brasileiro (QCO/Informática/2011)
* Formado em Sistemas de Informação.
* Criador do blog “Rumo à EsFCEx”
* Chefe da Seção de Informática do Hospital Militar de Área de Recife
* Profissional com mais de 15 anos de experiência na área de TI,atuando como Engenheiro de Sistemas e DBA
* Microsoft Certified – MCDBA | MCSE | MCSA | MCITP | MCTS
* IBM Certified Developer – Cognos 8 BI Data Warehouses
* ITIL® V2 e V3
* Green IT Citizen
* ISO/IEC 27002

http://www.mycertprofile.com/Profile/1915602619
http://www.mycertprofile.com/Profile/1915602619

Facebook Twitter LinkedIn Google+ YouTube