Есть ли способ удалить специальные символы (оставив только буквенно-цифровые) из строки / поля на сервере SQL без цикла / пользовательского function?
На данный момент лучшее, что я придумал, это:
Create Function [dbo].[strip_special](@Temp VarChar(1000))
Returns VarChar(1000)
AS
Begin
While PatIndex('%[^a-z0-9]%', @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex('%[^a-z0-9]%', @Temp), 1, '')
Return @TEmp
End
На некоторых серверах у меня нет прав на создание пользовательских функций, поэтому я хотел бы иметь возможность достичь того же результата без . У меня также есть опасения по поводу эффективности / производительности цикла (хотя я предполагаю, что даже встроенная функция / метод, вероятно, сама будет использовать цикл).
Спасибо