我有一張表,其中包含我想擺脫的特殊字符。查找表中的特殊字符並將其刪除
例子:
這是文本(我粘貼了PIC因爲字符是不可見的純文字版)
enominazione AOC. I vini di b
我已經得到了ASCII該字符的代碼使用ASCII()
函數,並返回11
。
問題是,當我執行此查詢:
DECLARE @specharfilter NVARCHAR(10) = CHAR(11);
SELECT * FROM My_Table WHERE [Text] like N'%' + @specharfilter + N'%'
我沒有得到任何結果。另一方面,當我嘗試使用另一個ascii代碼(如70
)時,我得到了結果。
那麼我做錯了什麼?謝謝你的幫助。
我不能重現這個問題,似乎工作UDF對我來說很好:http://dbfiddle.uk/?rdbms=sqlserver_2016&fiddle=1a14f370e4681536a20250bd51f6ab5d你也意識到你填充變量但從來沒有真正使用它? – GarethD
即使使用您的編輯和使用變量,我仍然無法重現此行爲。 http://dbfiddle.uk/?rdbms=sqlserver_2016&fiddle=dc307e31eeccd89adb3b521a4db57e69 – GarethD
你說得對。嘗試你的例子後,我發現我的表有一些問題(與這個主題無關)。我修復了他們,現在我得到了結果。謝謝。 – kbaccouche