在字串比較中使用 Like 運算子和萬用字元

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

內建的圖案匹配提供了一種多功能的工具來進行繩子比較。 下表顯示了你可以用 Like 運算子使用的萬用字元,以及它們對應的數字或字串數量。

角色 () 模式* 表現中的匹配*
? 或 _ (底線) 任何單一字元
* 或 % 零個或多個角色
# 任何單位數 (0 到 9)
[查利斯特] 查利斯特》中的任何單一角色
[!查利斯特] 任何不在《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] 不是。
  • 字元序列[ ]被忽略;它被認為是零長度的弦 (“) 。