[Racine des codes] [Page précédente]

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
[edit]