Вот функция, которая удаляет специальные символы, используя диапазон символов ASCII.
Внимание: убедитесь, что вы проверили его и довольны использованием процессора, прежде чем внедрять его в среде продуктов с высоким объемом.
Эта функция изменена с source-code.biz / snippets / mssql / 1.htm Кристианом Д'Эревсом
CREATE FUNCTION dbo.RemoveSpecialChars (@s VARCHAR(256))
RETURNS VARCHAR(256)
WITH SCHEMABINDING
BEGIN
IF @s is null
RETURN null
DECLARE @s2 varchar(256)
DECLARE @l int
DECLARE @p int
SET @s2 = ''
SET @l = len(@s)
SET @p = 1
WHILE @p <= @l
BEGIN
DECLARE @c int
SET @c = ascii(substring(@s, @p, 1))
IF @c between 48 and 57 or @c between 65 and 90 or @c between 97 and 122
BEGIN
SET @s2 = @s2 + char(@c)
END
SET @p = @p + 1
END
IF LEN(@s2) = 0
BEGIN
RETURN null
END
RETURN @s2
END