Olá Jhony, veja se isso ajudar.
ALTER Function dbo.F_Remove_Acentuacao
(
@pTexto VarChar(8000)
)
Returns VarChar(8000)
As
Begin
Declare @Retorno VarChar(8000)
Declare @n Integer
Declare @x Integer
Declare @sLetra VarChar(1)
Declare @Ordem Integer
Declare @sLetra_Nova VarChar(1)
Declare @TB_ComAcento Table (Ordem TinyInt, Letra VarChar(1))
Insert @TB_ComAcento Values(1, 'Á')
Insert @TB_ComAcento Values(2, 'À')
Insert @TB_ComAcento Values(3, 'Ã')
Insert @TB_ComAcento Values(4, 'Â')
Insert @TB_ComAcento Values(5, 'Ä')
Insert @TB_ComAcento Values(6, 'á')
Insert @TB_ComAcento Values(7, 'à')
Insert @TB_ComAcento Values(8, 'ã')
Insert @TB_ComAcento Values(9, 'â')
Insert @TB_ComAcento Values(10, 'ä')
Insert @TB_ComAcento Values(11, 'É')
Insert @TB_ComAcento Values(12, 'È')
Insert @TB_ComAcento Values(13, 'Ê')
Insert @TB_ComAcento Values(14, 'Ë')
Insert @TB_ComAcento Values(15, 'é')
Insert @TB_ComAcento Values(16, 'è')
Insert @TB_ComAcento Values(17, 'ê')
Insert @TB_ComAcento Values(18, 'ë')
Insert @TB_ComAcento Values(19, 'Í')
Insert @TB_ComAcento Values(20, 'Ì')
Insert @TB_ComAcento Values(21, 'Î')
Insert @TB_ComAcento Values(22, 'Ï')
Insert @TB_ComAcento Values(23, 'í')
Insert @TB_ComAcento Values(24, 'ì')
Insert @TB_ComAcento Values(25, 'î')
Insert @TB_ComAcento Values(26, 'ï')
Insert @TB_ComAcento Values(27, 'Ó')
Insert @TB_ComAcento Values(28, 'Ò')
Insert @TB_ComAcento Values(29, 'Õ')
Insert @TB_ComAcento Values(30, 'Ô')
Insert @TB_ComAcento Values(31, 'Ö')
Insert @TB_ComAcento Values(32, 'ó')
Insert @TB_ComAcento Values(33, 'ò')
Insert @TB_ComAcento Values(34, 'õ')
Insert @TB_ComAcento Values(35, 'ô')
Insert @TB_ComAcento Values(36, 'ö')
Insert @TB_ComAcento Values(37, 'Ú')
Insert @TB_ComAcento Values(38, 'Ù')
Insert @TB_ComAcento Values(39, 'Û')
Insert @TB_ComAcento Values(40, 'Ü')
Insert @TB_ComAcento Values(41, 'ú')
Insert @TB_ComAcento Values(42, 'ù')
Insert @TB_ComAcento Values(43, 'û')
Insert @TB_ComAcento Values(44, 'ü')
Insert @TB_ComAcento Values(45, 'Ç')
Insert @TB_ComAcento Values(46, 'ç')
Insert @TB_ComAcento Values(47, 'Ñ')
Insert @TB_ComAcento Values(48, 'ñ')
Declare @TB_SemAcento Table (Ordem TinyInt, Letra VarChar(1))
Insert @TB_SemAcento Values(1, 'A')
Insert @TB_SemAcento Values(2, 'A')
Insert @TB_SemAcento Values(3, 'A')
Insert @TB_SemAcento Values(4, 'A')
Insert @TB_SemAcento Values(5, 'A')
Insert @TB_SemAcento Values(6, 'a')
Insert @TB_SemAcento Values(7, 'a')
Insert @TB_SemAcento Values(8, 'a')
Insert @TB_SemAcento Values(9, 'a')
Insert @TB_SemAcento Values(10, 'a')
Insert @TB_SemAcento Values(11, 'E')
Insert @TB_SemAcento Values(12, 'E')
Insert @TB_SemAcento Values(13, 'E')
Insert @TB_SemAcento Values(14, 'E')
Insert @TB_SemAcento Values(15, 'e')
Insert @TB_SemAcento Values(16, 'e')
Insert @TB_SemAcento Values(17, 'e')
Insert @TB_SemAcento Values(18, 'e')
Insert @TB_SemAcento Values(19, 'I')
Insert @TB_SemAcento Values(20, 'I')
Insert @TB_SemAcento Values(21, 'I')
Insert @TB_SemAcento Values(22, 'I')
Insert @TB_SemAcento Values(23, 'i')
Insert @TB_SemAcento Values(24, 'i')
Insert @TB_SemAcento Values(25, 'i')
Insert @TB_SemAcento Values(26, 'i')
Insert @TB_SemAcento Values(27, 'O')
Insert @TB_SemAcento Values(28, 'O')
Insert @TB_SemAcento Values(29, 'O')
Insert @TB_SemAcento Values(30, 'O')
Insert @TB_SemAcento Values(31, 'O')
Insert @TB_SemAcento Values(32, 'o')
Insert @TB_SemAcento Values(33, 'o')
Insert @TB_SemAcento Values(34, 'o')
Insert @TB_SemAcento Values(35, 'o')
Insert @TB_SemAcento Values(36, 'o')
Insert @TB_SemAcento Values(37, 'U')
Insert @TB_SemAcento Values(38, 'U')
Insert @TB_SemAcento Values(39, 'U')
Insert @TB_SemAcento Values(40, 'U')
Insert @TB_SemAcento Values(41, 'u')
Insert @TB_SemAcento Values(42, 'u')
Insert @TB_SemAcento Values(43, 'u')
Insert @TB_SemAcento Values(44, 'u')
Insert @TB_SemAcento Values(45, 'C')
Insert @TB_SemAcento Values(46, 'c')
Insert @TB_SemAcento Values(47, 'N')
Insert @TB_SemAcento Values(48, 'n')
Set @n = 1
While @n <= Len(@pTexto) Begin
Set @sLetra = Substring(@pTexto, @n, 1)
Set @Ordem = Null
Select @Ordem = Ordem
From @TB_ComAcento
Where ASCII(Letra) = ASCII(@sLetra)
If @Ordem Is Not Null Begin
Set @sLetra_Nova = Null
Select @sLetra_Nova = Letra
From @TB_SemAcento
Where Ordem = @Ordem
If @sLetra_Nova Is Not Null
Set @pTexto = Replace(@pTexto, @sLetra, @sLetra_Nova)
End
Set @n = @n + 1
End
Set @Retorno = @pTexto
Return @Retorno
End