Cambiar codigo vba a sql para caracteres especiales

El codigo siguiente sirve, pero necesito migrarlo a sql... Ya que me funciono mejor...

Anexo funcion vba y sql q tengo gracias por su atencion

' vba

Function SacaRaros(x)
Largo = Len(x)
For I = 1 To Largo
letra = Mid(x, I, 1)
codigo = Asc(letra)
If codigo < 32 Or codigo > 126 Then
Mid(x, I, 1) = "*"
End If
Next
SacaRaros = Replace(x, "*", "")
End Function

--sql

ALTER FUNCTION [dbo].[CsrRemovercaracteres](@cadena varchar(1000))
RETURNS VARCHAR(1000)
BEGIN
DECLARE @pos INT
SET @Pos = PATINDEX('%[^-._a-zA-Z0-9@]%',lower (@cadena))
WHILE @Pos > 0
BEGIN
SET @cadena = STUFF(@cadena,@pos,1,'')
SET @Pos = PATINDEX('%[^-._a-zA-Z0-9@]%',lower (@cadena))
END
RETURN @cadena
END

Añade tu respuesta

Haz clic para o