萬用字元
您可以使用萬用字元在資料行或運算式中搜尋模式。 例如,可以搜尋姓氏以 "Van" 開頭或以 "son" 結尾的所有員工。
萬用字元
您可以使用萬用字元搜尋當成文字字串的任何資料行。 字元資料型別的資料行一律可以當成文字字串,有些資料庫也可以把日期時間資料當做文字字串。
若要搜尋模式,請使用 LIKE 運算子,然後以萬用字元取代搜尋字串中的一或多個字元。 您可以使用下列任一種萬用字元:
萬用字元 |
意義 |
---|---|
% (百分比符號) |
該位置的零個或多個字元。 |
_ (底線) |
該位置的一個字元。 |
例如,要搜尋以 "Van" 開頭的所有姓名,可以指定搜尋條件 LIKE 'Van%'。 若要搜尋 "Jan"、"Jen" 及 "Jon" 等名字,可以指定搜尋條件 LIKE 'J_n'。
搜尋做為萬用字元的字元
有時候可能必須搜尋包含做為萬用字元的字串。 例如,您可能要在 titles 資料表中尋找書名中包含 "10%" 字串的所有發行物。 因為 "%" 是您要搜尋之字串的一部分,所以您必須指定您用的是常值字串,不是萬用字元。
若要搜尋會被解釋為萬用字元的字元時,可以指定一個逸出字元 (Escape Character)。 在代表常值的 "%" 或 "_" 字元前面加上逸出字元。 若要指定逸出字元,請在 LIKE 搜尋準則後面包含一個 ESCAPE 子句。 可以在準則窗格 或 SQL 窗格的 [準則] 資料行中進行。
例如,假設您要搜尋包含字串 "10%" 的所有書名。 假設您將 "#" 字元定義為逸出字元,讓您在代表常值的 "%" 字元前面包含 "#"。 您可以在 [準則] 窗格中輸入:
LIKE '%10#%%' ESCAPE '#'
SQL 陳述式中產生的 WHERE 子句會像這樣子:
WHERE title LIKE '%10#%%' ESCAPE '#'
注意事項 |
---|
只能在 [SQL] 窗格中定義逸出字元。 |
搜尋日期時間資料行
使用日期時間資料型別的資料行時,可以搜尋日期或時間的任一部分,包括月份的文字縮寫和年份的完整表示。
注意事項 |
---|
搜尋日期時間資料行的能力需視您使用的資料庫,以及日期時間資料型別是否可以當做字串搜尋而定。如需詳細資訊,請參閱您的資料庫文件。 |
例如,可以在 Microsoft SQL Server 資料庫裡,使用下列的 LIKE 子句搜尋日期在 1994 年裡的所有資料列:
LIKE '%1994%'
下列子句則會搜尋日期落在 1 月的所有資料列,不論年度為何:
LIKE 'Jan%'
可以用來搜尋日期時間資料行的字串確實格式依您使用的資料庫而定。
注意事項 |
---|
如果資料庫電腦的地區設定不同於執行查詢之電腦的地區設定,可能會得到非預期的結果。若要避免發生此狀況,請使用資料庫電腦的日期格式運算式。如需詳細資訊,請參閱資料庫管理系統文件。 |
萬用字元搜尋的範例
下列範例說明萬用字元的使用情形。
搜尋運算式 |
描述 |
符合範例 |
---|---|---|
|
尋找以 "Van" 開頭的值。 |
Vann、Van Beeck、Vanderhorn |
|
尋找以 "J" 開頭和以 "n" 結尾的值。 |
Jon、Johnson、Jason、Juan |
|
尋找以 "son" 結尾的值。 |
Son、Anderson |
|
尋找字串中任何位置有 "sam" 的值。 |
Sam、Samson、Grossam |
|
尋找日期時間資料行中落在三月不論年度為何的值。 |
3/1/94 01 Mar 1992 |
|
尋找日期時間資料行中 1994 年的值。 |
12/1/94 01 Jan 1994 |
|
尋找剛好四個字元,前三個字元為 "Mac" 的值。 |
Mack、Macs |
|
尋找剛好四個字元,後三個字元為 "dam" 的值。 |
Adam、Odam |
|
尋找字尾以 "s" 和 "n" 夾住任一個字元,而且前面有任意個字元的值。 |
Anderson、Andersen、Johnson、san、sun |