萬用字元是特殊字元,可以代表文字值中的未知字元,便於查詢具有相似但不相同資料的多個專案。 萬用字元還可以幫助獲取指定模式匹配的資料庫。
Access支援兩組萬用字元,因為它支援結構化查詢語言的兩個標準(條件)。
通常,在執行查詢和查詢和替換Access資料庫(如*.mdb
和*.accdb
檔案)的操作時,使用ANSI-89 萬用字元。
在對Access專案執行查詢時使用ANSI-92 萬用字元 - 存取連線到Microsoft SQL Server資料庫的檔案。Access專案使用ANSI-92 標準,因為SQL Server使用該標準。
下表列出了ANSI-89 支援的字元 -
字元 | 描述 | 範例 |
---|---|---|
* |
匹配任意數量的字元,可以在字串中的任何位置使用星號(* )。 |
wh* 可以匹配what ,white ,why ,但不匹配awhile ,watch 。 |
? |
匹配任何單個字母字元。 | B?ll 可匹配 ball , bell 以及 bill 。 |
[] |
匹配括號內的任何單個字元。 | B[ae]ll 可匹配 ball 和bell ,但不匹配bill 。 |
! |
匹配不在括號內的任何字元。 | b[!ae]ll 可匹配 bill 和 bull , 但不匹配 ball 或 bell 。 |
- |
匹配任何一個字元的範圍。必須按升序指定範圍(A 到Z ,而不是Z 到A )。 |
b[a-c]d 匹配 bad , bbd 和 bcd |
# |
匹配任何單個數位字元。 | 1#3S 可匹配 103 , 113 和 123 。 |
下表列出了ANSI-92 支援的字元 -
字元 | 描述 | 範例 |
---|---|---|
% |
匹配任意數量的字元。它可以用作字串中的第一個或最後一個字元。 | wh% 匹配 what , white 和 why , 但不匹配 awhile 或 watch 。 |
_ |
匹配任何單個字母字元。 | B_ll 匹配 ball , bell 和 bill |
[] |
匹配括號內的任何單個字元。 | B[ae]ll 匹配 ball 和 bell , 但是不匹配bill 。 |
^ |
b[^ae]ll 匹配 bill 和 bull , 但是不匹配 ball 或 bell 。 |
|
- |
匹配任何一個字元的範圍。必須按升序指定範圍(A 到Z ,而不是Z 到A )。 |
b[a-c]d 匹配 bad , bbd 和 bcd 。 |
現在開啟查詢設計來演示如何使用這些萬用字元的簡單範例。新增顯示的表並關閉「顯示表格」對話方塊。
將想要檢視的欄位新增為查詢結果。
執行查詢,得到以下結果 -
再次開啟查詢設計,並新增專案名稱的輸入提示。
現在執行查詢,假設不知道確切的專案名稱,但是知道專案名稱包含單詞"大橋"
。 點選確定。
執行上述查詢不會產生任何結果。這是因為Access在專案名稱欄位中查詢完全匹配。 它正在尋找那個名字中有"大橋"
的專案。
如果想讓使用者可以輸入萬用字元來替換未知的字元,那麼需要調整標準(條件),並包括Like
運算子。
當執行查詢時,使用者可以使用Like
萬用字元來替換任意數量的字元。
假設要了解有關"大橋"
這個詞的專案,但是不確定它在哪裡。
可以新增一個*
來替換單詞"大橋"
之前的任意數量的字元,然後新增另一個*
。 點選確定 。
使用者總是知道輸入的萬用字元。 但是有些使用者可能不知道他們可以進入的萬用字元。 在這種情況下,可以自己輸入萬用字元。
在這種情況下,在Like
操作符和引數提示符之間,可以新增這些萬用字元,現在有一個非常具體的方法來寫這個。 在引號之後的單詞之後,輸入正在使用的萬用字元。 在這種情況下,我們使用「*」
來替換任意數量的字元。現在將這個新增到引數。 為此,需要符號(&
)符號和空格。現在重複這一步,並新增另一個符號(&
),因為加入了萬用字元,無論使用者輸入什麼標準的專案名稱,然後用引號「*」
。
現在再次執行我們的查詢。 在沒有任何萬用字元的提示符下輸入單詞:"大橋"
。結果如下所示 -
查詢現在將追蹤任何在這裡輸入的萬用字元。只需要輸入"大橋"
,然後按回車。
現在得到查詢的結果,並且無論使用者輸入什麼內容,結果都是一樣的。
如果希望在專案標題中找到帶有"擴建"
的詞組。 然後,只需鍵入"擴建"
並單擊確定。
通過這個查詢,搜尋名稱中帶有"擴建"
的專案變得更加容易。結果也可能包含專案名稱,其中"擴建"
是該詞的一部分。