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

SQL Server 模式匹配完全指南:LIKE 萬用字元與實用範例

     編輯:關於SqlServer

四大萬用字元

符號含義
%任意長度(含零)字元串
_單一任意字元
[ ]括號內任一字元或範圍(如 [a-f], [abc])
[^]不在括號內的任一字元(如 [^a-f])

經典範例

-- 含 "en" 的字串
LIKE '%en%'        -- Bennet, Green, McBadden

-- 以 "heryl" 結尾的六字元名
LIKE '_heryl'      -- Cheryl, Sheryl

-- 以 C/K 開頭,含 ar,再接 e/o,結尾 n
LIKE '[CK]ars[eo]n'  -- Carsen, Karsen, Carson, Karson

-- 以 M-Z 任一字母開頭,結尾 "inger"
LIKE '[M-Z]inger'    -- Ringer

-- 以 M 開頭,第二字母非 c
LIKE 'M[^c]%'        -- MacFeather (非 Mc...)

實戰查詢:找出區碼 415 的電話

SELECT phone FROM pubs.dbo.authors WHERE phone LIKE '415%'

進階技巧

  • 逸出字元:若要搜尋實際的 %、_、[,可自定義逸出字元:
    WHERE col LIKE '%/%%' ESCAPE '/'
  • 大小寫敏感度:取決於資料庫/欄位定序(Collation),如 Chinese_PRC_CS_AS 為區分大小寫。
  • 效能提示:前導萬用字元 (%abc) 會導致索引掃描,避免在大表上使用;後置萬用字元 (abc%) 可利用索引搜尋。

應用於日期/時間

LIKE 也可用於 datetime/smalldatetime 欄位,但隱含轉換為字串格式,建議改用 BETWEEN 或 DATEPART 等原生日期函數以獲得最佳效能。

熟練掌握 LIKE 萬用字元,能靈活處理模糊查詢、資料清洗與報表篩選需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved