Access的在字符串比較中使用通配符

內置模式匹配提供了一個功能豐富的工具用於比較字符串。下表顯示可以與Like運算符一起使用的通配符以及它們匹配的數字或字符串的數目。

模式中的字符表達式中的匹配
?或_(下劃線)任意單字符
*或%零個或多個字符
#任意一位數字(0-9)
[字符列表]字符列表中的任意單字符
[!字符列表]不在字符列表中的任意單字符

可以使用用方括號([])括起的一個字符或一組字符(字符列表)來匹配表達式中的任意單字符,並且字符列表可以包括ANSI字符集?(ANSI字符集:MicrosoftWindows使用的8位字符集,允許您使用鍵盤表示多達256個字符(0到255)。ASCII字符集是ANSI集的子集。)中的幾乎所有字符(包括數字)。只有在用括號括起的情況下,才能使用左方括號([)、問號(?)、數字符號(#)和星號(*)等特殊字符來直接匹配它們自身。不能使用組中的右方括號(])來匹配其自身,但可以在組外部使用右方括號作爲單個字符。

除了用方括號括起的簡單字符列表外,字符列表還可以通過用連字符(-)分隔範圍的上限和下限來指定字符範圍。例如,如果在模式中使用[A-Z],當表達式中的相應字符位置包含範圍A到Z中的任意大寫字母時,則生成一個匹配。您可以在方括號中包括多個範圍,且無需分隔各個範圍。例如,[a-zA-Z0-9]匹配任意字母數字字符。

請務必注意,ANSISQL中的通配符(%)和(_)只能在MicrosoftAccess數據庫引擎和MicrosoftOfficeAccess2007OLEDBProvider中使用。如果通過MicrosoftOfficeAccess2007或DAO使用,它們將被視爲文字。

模式匹配的其他重要規則包括:

  • 字符列表開頭的感嘆號(!)表示如果表達式中發現除字符列表中字符以外的任何字符,將生成一個匹配。在方括號外面使用時,感嘆號匹配其自身。

  • 您可以在字符列表的開頭(如果使用了感嘆號,則在感嘆號之後)或結尾使用連字符(-)來匹配連字符自身。在任何其他位置,連字符標識某一範圍的ANSI字符。

  • 指定某一範圍的字符時,字符必須以升序(A-Z或0-100)顯示。[A-Z]是有效模式,而[Z-A]是無效模式。

  • 字符序列[]被忽略;它被認爲是零長度字符串?(零長度字符串:不含字符的字符串。可以使用零長度字符串來表明您知道該字段沒有值。輸入零長度字符串的方法是鍵入兩個彼此之間沒有空格的雙引號("")。)("")。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章