MS-SQL - function CleanSpecialChars
/SQL/MS-SQL - function CleanSpecialChars.sql
CREATE FUNCTION dbo.CleanSpecialChars(@strIn VARCHAR(MAX)) RETURNS VARCHAR(MAX)
WITH SCHEMABINDING
BEGIN
IF @strIn IS NULL
RETURN NULL
DECLARE @strOut VARCHAR(MAX)
DECLARE @lng INT, @pos INT, @asc INT
SET @strOut = ''
SET @lng = LEN(@strIn)
SET @pos = 1
WHILE @pos <= @lng
BEGIN
SET @asc = ASCII(SUBSTRING(@strIn, @pos, 1))
IF @asc BETWEEN 0 AND 31 -- caractères spéciaux
SET @strOut = @strOut + ' '
ELSE
SET @strOut = @strOut + CHAR(@asc)
SET @pos = @pos + 1
END
RETURN @strOut
END