Проверьте эту ссылку. Это удалит все буквенные цифры c символов. Вы также можете включить '-' во включенный список.
Как вырезать все не алфавитные c символы из строки в SQL Сервер?
В В этом примере для ответа от @George Mastros, используйте «% [^ a-zA-Z0-9 -]%» для регулярного выражения вместо «% [^ az]%»
Вот переформатированная функция включить '-' и цифры c символов:
-- Reformatted function
Create Function [dbo].[RemoveNonAlphaCharacters](@Temp VarChar(1000))
Returns VarChar(1000)
AS
Begin
Declare @KeepValues as varchar(50)
Set @KeepValues = '%[^a-zA-Z0-9\-]%'
While PatIndex(@KeepValues, @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')
Return @Temp
End
--Call function
Select dbo.RemoveNonAlphaCharacters('Hello® World™ -123 !@#$%^')
ВЫХОД: HelloWorld-123