內建模式比對提供多功能的工具,可進行字串比較。 下表顯示您可以搭配 Like 運算元使用的通配符,以及它們相符的位數或字串數。
字元 (模式中的) |
表達式中的相符專案 |
? 或 _ (底線) |
任何單一字元 |
* 或 % |
零個或更多個字元 |
# |
任何個位數 (0 - 9) |
[charlist] |
charlist 中的任何單一字元 |
[!charlist] |
charlist 中沒有的任何單一字元 |
您可以使用一個或多個字元的群組, (字元 清單) 括號 ([ ]) 來比對 表達式 中的任何單一字元, 而 charlist 在 ANSI 字元集中幾乎可以包含任何字元,包括位數。 您可以使用左括弧 ([) 、問號 (?) 、數位符號 (#) 和星號 (*) 等特殊字元,直接在括弧中括住時進行比對。 您無法使用群組內的右括號 ( ]) 來比對本身,但您可以將群組外部的右括號當作個別字元使用。
除了以括弧括住的簡單字元清單之外, charlist 還可以使用連字元 ( ) 來分隔範圍的上下界限,藉此指定字元範圍。 例如,如果表達式中的對應字元位置包含 A 到 Z 範圍中的任何大寫字母,則在模式中使用 [A-Z] 會產生相符的結果。您可以在括弧內包含多個範圍,而不需要分隔範圍。 例如,[a-zA-Z0-9] 比對任何英數位元字元。
請務必注意,ANSI SQL 通配符 (%) 和 (_) 僅適用於 Microsoft Access 資料庫引擎和 Access OLE DB 提供者。 如果透過 Access 或 DAO 使用這些字詞,則會視為常值。
模式比對的其他重要規則包括下列各項:
-
charlist 開頭的驚嘆號 (!) 表示如果在表達式中找到 charlist 中字元以外的任何字元,就會比對。 使用外括弧時,驚嘆號會與它本身相符。
-
如果使用連字元 ( ) 在驚嘆號之後的開頭 (,或是) 使用連字元,或在 charlist 結尾處進行比對。 在任何其他位置,連字元會識別 ANSI 字元的範圍。
-
當您指定字元範圍時,字元必須以遞增排序順序顯示 (A-Z 或 0-100) 。 [A-Z] 是有效的模式,但 [Z-A] 不是。
-
字元順序 [] 會被忽略;它被視為 零長度字串 (“”) 。