Access萬用字元


萬用字元是特殊字元,可以代表文字值中的未知字元,便於查詢具有相似但不相同資料的多個專案。 萬用字元還可以幫助獲取指定模式匹配的資料庫。

Access支援兩組萬用字元,因為它支援結構化查詢語言的兩個標準(條件)。

  • ANSI-89
  • ANSI-92

通常,在執行查詢和查詢和替換Access資料庫(如*.mdb*.accdb檔案)的操作時,使用ANSI-89 萬用字元。

在對Access專案執行查詢時使用ANSI-92 萬用字元 - 存取連線到Microsoft SQL Server資料庫的檔案。Access專案使用ANSI-92 標準,因為SQL Server使用該標準。

ANSI-89萬用字元

下表列出了ANSI-89 支援的字元 -

字元 描述 範例
* 匹配任意數量的字元,可以在字串中的任何位置使用星號(*)。 wh*可以匹配whatwhitewhy,但不匹配awhilewatch
? 匹配任何單個字母字元。 B?ll 可匹配 ball, bell 以及 bill
[] 匹配括號內的任何單個字元。 B[ae]ll 可匹配 ballbell,但不匹配bill
! 匹配不在括號內的任何字元。 b[!ae]ll 可匹配 billbull, 但不匹配 ballbell
- 匹配任何一個字元的範圍。必須按升序指定範圍(AZ,而不是ZA)。 b[a-c]d 匹配 bad, bbdbcd
# 匹配任何單個數位字元。 1#3S 可匹配 103, 113123

ANSI-92萬用字元

下表列出了ANSI-92 支援的字元 -

字元 描述 範例
% 匹配任意數量的字元。它可以用作字串中的第一個或最後一個字元。 wh% 匹配 what, whitewhy, 但不匹配 awhilewatch
_ 匹配任何單個字母字元。 B_ll 匹配 ball, bellbill
[] 匹配括號內的任何單個字元。 B[ae]ll 匹配 ballbell, 但是不匹配bill
^ b[^ae]ll 匹配 billbull, 但是不匹配 ballbell
- 匹配任何一個字元的範圍。必須按升序指定範圍(AZ,而不是ZA)。 b[a-c]d 匹配 bad, bbdbcd

範例

現在開啟查詢設計來演示如何使用這些萬用字元的簡單範例。新增顯示的表並關閉「顯示表格」對話方塊。

將想要檢視的欄位新增為查詢結果。

執行查詢,得到以下結果 -

再次開啟查詢設計,並新增專案名稱的輸入提示。

現在執行查詢,假設不知道確切的專案名稱,但是知道專案名稱包含單詞"大橋"。 點選確定

執行上述查詢不會產生任何結果。這是因為Access在專案名稱欄位中查詢完全匹配。 它正在尋找那個名字中有"大橋"的專案。

如果想讓使用者可以輸入萬用字元來替換未知的字元,那麼需要調整標準(條件),並包括Like運算子。

當執行查詢時,使用者可以使用Like萬用字元來替換任意數量的字元。

假設要了解有關"大橋"這個詞的專案,但是不確定它在哪裡。

可以新增一個*來替換單詞"大橋"之前的任意數量的字元,然後新增另一個*。 點選確定

使用者總是知道輸入的萬用字元。 但是有些使用者可能不知道他們可以進入的萬用字元。 在這種情況下,可以自己輸入萬用字元。

在這種情況下,在Like操作符和引數提示符之間,可以新增這些萬用字元,現在有一個非常具體的方法來寫這個。 在引號之後的單詞之後,輸入正在使用的萬用字元。 在這種情況下,我們使用「*」來替換任意數量的字元。現在將這個新增到引數。 為此,需要符號()符號和空格。現在重複這一步,並新增另一個符號(),因為加入了萬用字元,無論使用者輸入什麼標準的專案名稱,然後用引號「*」

現在再次執行我們的查詢。 在沒有任何萬用字元的提示符下輸入單詞:"大橋"。結果如下所示 -

查詢現在將追蹤任何在這裡輸入的萬用字元。只需要輸入"大橋",然後按回車。

現在得到查詢的結果,並且無論使用者輸入什麼內容,結果都是一樣的。

如果希望在專案標題中找到帶有"擴建"的詞組。 然後,只需鍵入"擴建"並單擊確定。

通過這個查詢,搜尋名稱中帶有"擴建"的專案變得更加容易。結果也可能包含專案名稱,其中"擴建"是該詞的一部分。