公司一個老項目,sql server的 模糊查詢時,查詢條件包含 [] ,然後查詢結果就一直為空 查閱資料得知:如果 LIKE 模式中的轉義符後面沒有字元,則該模式無效並且 LIKE 返回 FALSE。如果轉義符後面的字元不是通配符,則將放棄轉義符並將該轉義符後面的字元作為該模式中的常規字元處理。這 ...
公司一個老項目,sql server的
模糊查詢時,查詢條件包含 [] ,然後查詢結果就一直為空
查閱資料得知:如果 LIKE 模式中的轉義符後面沒有字元,則該模式無效並且 LIKE 返回 FALSE。如果轉義符後面的字元不是通配符,則將放棄轉義符並將該轉義符後面的字元作為該模式中的常規字元處理。這包括百分號 (%)、下劃線 (_) 和左括弧 ([) 通配符(如果它們包含在雙括弧 ([ ]) 中)。
下麵講下sql腳本檢索中,檢索特殊字元的方法
使用escape轉義關鍵字的用法
CREATE TABLE test (info VARCHAR(50)) GO INSERT INTO test VALUES ('[web.]maomao365.com'), ('web.maomao365.com') GO select * from test where info like '%[web.]%' ---輸出2行數據,like條件中[]被界定為包含 SELECT * FROM test WHERE info LIKE '%\[address.]%' ---採用斜杠類似轉義,但是轉義失敗,返回空數據行 go SELECT * FROM test WHERE info LIKE '%$[web.]%' ESCAPE '$' SELECT * FROM test WHERE info LIKE '%@[web.]%' ESCAPE '@' ---採用escape 定義 @ $為以上sql腳本的轉義字元 go drop table test