通配符是特殊字符,可以代表文本值中的未知字符,便于查找具有相似但不相同數(shù)據(jù)的多個項目。 通配符還可以幫助獲取指定模式匹配的數(shù)據(jù)庫。
Access支持兩組通配符,因為它支持結(jié)構(gòu)化查詢語言的兩個標準(條件)。
通常,在運行查詢和查找和替換Access數(shù)據(jù)庫(如*.mdb和*.accdb文件)的操作時,使用ANSI-89 通配符。
在對Access項目運行查詢時使用ANSI-92 通配符 - 訪問連接到Microsoft SQL Server數(shù)據(jù)庫的文件。Access項目使用ANSI-92 標準,因為SQL Server使用該標準。
下表列出了ANSI-89 支持的字符 -
| 字符 | 描述 | 示例 |
|---|---|---|
* |
匹配任意數(shù)量的字符,可以在字符串中的任何位置使用星號(*)。 |
wh*可以匹配what,white,why,但不匹配awhile,watch。 |
? |
匹配任何單個字母字符。 | B?ll 可匹配 ball, bell 以及 bill。 |
[] |
匹配括號內(nèi)的任何單個字符。 | B[ae]ll 可匹配 ball和bell,但不匹配bill。 |
! |
匹配不在括號內(nèi)的任何字符。 | b[!ae]ll 可匹配 bill 和 bull, 但不匹配 ball 或 bell。 |
- |
匹配任何一個字符的范圍。必須按升序指定范圍(A到Z,而不是Z到A)。 |
b[a-c]d 匹配 bad, bbd 和 bcd |
# |
匹配任何單個數(shù)字字符。 | 1#3S 可匹配 103, 113 和 123。 |
下表列出了ANSI-92 支持的字符 -
| 字符 | 描述 | 示例 |
|---|---|---|
% |
匹配任意數(shù)量的字符。它可以用作字符串中的第一個或最后一個字符。 | wh% 匹配 what, white 和 why, 但不匹配 awhile 或 watch 。 |
_ |
匹配任何單個字母字符。 | B_ll 匹配 ball, bell 和 bill |
[] |
匹配括號內(nèi)的任何單個字符。 | B[ae]ll 匹配 ball 和 bell, 但是不匹配bill。 |
^ |
b[^ae]ll 匹配 bill 和 bull, 但是不匹配 ball 或 bell。 |
|
- |
匹配任何一個字符的范圍。必須按升序指定范圍(A到Z,而不是Z到A)。 |
b[a-c]d 匹配 bad, bbd 和 bcd 。 |
現(xiàn)在打開查詢設(shè)計來演示如何使用這些通配符的簡單示例。添加顯示的表并關(guān)閉“顯示表格”對話框。
將想要查看的字段添加為查詢結(jié)果。
運行查詢,得到以下結(jié)果 -
再次打開查詢設(shè)計,并添加項目名稱的輸入提示。
現(xiàn)在運行查詢,假設(shè)不知道確切的項目名稱,但是知道項目名稱包含單詞"大橋"。 點擊確定。
執(zhí)行上述查詢不會產(chǎn)生任何結(jié)果。這是因為Access在項目名稱字段中查找完全匹配。 它正在尋找那個名字中有"大橋"的項目。
如果想讓用戶可以輸入通配符來替換未知的字符,那么需要調(diào)整標準(條件),并包括Like運算符。
當運行查詢時,用戶可以使用Like通配符來替換任意數(shù)量的字符。
假設(shè)要了解有關(guān)"大橋"這個詞的項目,但是不確定它在哪里。
可以添加一個*來替換單詞"大橋"之前的任意數(shù)量的字符,然后添加另一個*。 點擊確定 。
用戶總是知道輸入的通配符。 但是有些用戶可能不知道他們可以進入的通配符。 在這種情況下,可以自己輸入通配符。
在這種情況下,在Like操作符和參數(shù)提示符之間,可以添加這些通配符,現(xiàn)在有一個非常具體的方法來寫這個。 在引號之后的單詞之后,輸入正在使用的通配符。 在這種情況下,我們使用“*”來替換任意數(shù)量的字符?,F(xiàn)在將這個添加到參數(shù)。 為此,需要符號(&)符號和空格。現(xiàn)在重復這一步,并添加另一個符號(&),因為加入了通配符,無論用戶輸入什么標準的項目名稱,然后用引號“*”。
現(xiàn)在再次運行我們的查詢。 在沒有任何通配符的提示符下輸入單詞:"大橋"。結(jié)果如下所示 -
查詢現(xiàn)在將追蹤任何在這里輸入的通配符。只需要輸入"大橋",然后按回車。
現(xiàn)在得到查找的結(jié)果,并且無論用戶輸入什么內(nèi)容,結(jié)果都是一樣的。
如果希望在項目標題中找到帶有"擴建"的詞組。 然后,只需鍵入"擴建"并單擊確定。
通過這個查詢,搜索名稱中帶有"擴建"的項目變得更加容易。結(jié)果也可能包含項目名稱,其中"擴建"是該詞的一部分。