萬用字元 (SQL Wildcards)

萬用字元是與 LIKE 運算子一起搭配使用的,我們可以利用萬用字元來建立一個模式 (pattern),進而依此模式為條件來進行資料查詢。

萬用字元種類

萬用字元意義
%用來代替「零個」至「多個」字元
_用來代替「一個」字元
[charlist]用來代替「一個」在列舉範圍內的字元
[^charlist] 或 [!charlist]用來代替「一個」不在列舉範圍內的字元

萬用字元用法 (Example)

模式模式意義
abc%所有以 abc 開頭的字串。如 abc、abcx 或 abcxxx 等字串皆符合此模式。
%abc%所有包含 abc 的字串。如 abc、xxabcy 或 abcxxxx 等字串皆符合此模式。
a_以 a 為開頭的兩個字。如 ab、ac 或 ad 等字串皆符合此模式,但 a 就不符合囉,因為此模式限定 a 之後一定要接任一字元。
a[bcd]以 a 為開頭其後接著 b 或 c 或 d 其中一個字元。如 ab、ac 或 ad 等字串皆符合此模式,但 ae 就不符合囉。
a[^bcd]以 a 為開頭其後接著非 b 或 c 或 d 的任何一個字元。如 ax、ay 或 az 等字串皆符合此模式,但 ab 就不符合囉。

例如,找住在新北市的客戶:

SELECT * FROM customers WHERE Address LIKE '新北%';