1
我正在使用我在這裏找到的功能,以及在互聯網上的哪個位置嘗試從字段中去除非法字符。使用PATINDEX刪除字符
Create Function [epacube].[StripSpecs](@myString varchar(500),
@invalidChars varchar(100)) RETURNS varchar(500) AS Begin
While PatIndex(@invalidChars, @myString) > 0
Set @myString = Stuff(@myString, PatIndex(@invalidChars, @myString), 1, '')
Return @myString End
在我的表
我有我的字段的值設置爲:設定DATA_NAME = '臨$ d)UC^T'
如果我運行此查詢:
SELECT epacube.StripSpecs (
DATA_NAME
,'%$%') FROM TABLE_DATA
它的工作原理和我)PROD的返回值UC^T
不過,如果我添加一個特殊字符,它不再起作用:
SELECT epacube.StripSpecs (
DATA_NAME
,'%$)%') FROM TABLE_DATA
返回我的原始值臨$ d)UC^T
沒有人有完成的事情,我需要做什麼建議嗎?
編輯 按照以下這裏的答案是,工作代碼:
Create Function [epacube].[StripSpecs](@myString varchar(500), @invalidChars varchar(100))
RETURNS varchar(500) AS
Begin
While PatIndex('%[' + @invalidChars + ']%', @myString) > 0
Set @myString = Stuff(@myString, PatIndex('%[' + @invalidChars + ']%', @myString), 1, '')
Return @myString
End
謝謝!我曾嘗試在函數中添加%,但這不起作用,所以我想我會嘗試將它們傳入並看看它是如何工作的!感謝您的信息,現在就試試吧! – Leslie