首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL LIKE 通配符轉義完整指南:ESCAPE、方括號、實戰範例

     編輯:關於SqlServer

兩種轉義方式

1. ESCAPE 關鍵字自訂轉義字元

-- 搜尋含 "5%" 的字串,以 / 為轉義字元
WHERE ColumnA LIKE '%5/%%' ESCAPE '/'

-- 前導/結尾 % 為通配符,/ 後的 % 視為字面字元

2. 方括號 [] 包裹特殊字元

模式符合字串
LIKE '5[%]'5%
LIKE '[_]n'_n
LIKE '[-acdf]'-, a, c, d, f (連字號放第一個表字面)
LIKE '[[]]'[
LIKE '[]]']

實戰範例:查找含 [ 的登入名稱

-- 方法 1: ESCAPE \
SELECT * FROM PersonalMember WHERE strloginname LIKE '%\[%' ESCAPE '\'

-- 方法 2: ESCAPE /
SELECT * FROM PersonalMember WHERE strloginname LIKE '%/[%' ESCAPE '/'

-- 方法 3: CHARINDEX (不使用 LIKE,效能較好)
SELECT * FROM PersonalMember WHERE CHARINDEX('[', strloginname) > 0

建議

  • 固定字元搜尋優先用 CHARINDEX / PATINDEX,可用索引 (視條件)。
  • 動態模式必須用 LIKE 時,統一使用 ESCAPE '\',程式碼中將使用者輸入的 \, %, _, [, ] 替換為 \\, \%, \_, \[, \]。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved