有没有一种方法来脱离SQL服务器中的字符串/字段的特殊字符(只留下字母数字),没有循环/自定义函数?删除SQL中没有循环的特殊字符?
到目前为止,我想出最好的是:
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
在某些服务器上我没有的特权CREAD用户自定义函数,所以我希望能够实现相同的结果没有。 我也担心循环的效率/性能(尽管我猜即使是内置的函数/方法本身也可能会使用循环)。
感谢
我soemtimes看到有人建议拆卸串似的东西表并加入到门将字符表。 [这里是你可能感兴趣的讨论](http://ask.sqlservercentral.com/questions/75404/strip-all-but-alpha-chars-out-of-a-string) –