有沒有一種方法來脫離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) –