CONTAINS 述詞
CONTAINS 述詞是 WHERE 子句的一部分,並支援在文字資料行中搜尋單字和片語。 CONTAINS 述詞具有比對單字、比對單字變化形式、使用萬用字元搜尋,以及使用鄰近性搜尋的功能。 您也可以在 CONTAINS 述詞中套用權數,以設定找到搜尋字詞的資料行重要性。 CONTAINS 述詞較適合完全相符專案,與 FREETEXT 述詞相反,更適合用來尋找包含整個資料行之搜尋單字組合的檔。 搜尋不會區分大小寫。
以下是 CONTAINS 述詞的基本語法:
...CONTAINS(["<fulltext_column>",]'<contains_condition>'[,<LCID>])...
fulltext_column參考是選擇性的。 您可以使用它,將搜尋限制為測試 CONTAINS 述詞的單一資料行或資料行群組。 當全文檢索資料行指定為 「ALL」 或 「*」時,會搜尋所有已編制索引的文字屬性。 雖然資料行不一定是 text 屬性,但如果資料行是其他資料類型,則結果可能沒有意義。 資料行名稱可以是一般或分隔 的識別碼,而且您必須以逗號將它與條件分隔。 如果未指定全文檢索資料行,則會使用 System.Search.Contents 資料行,這是檔的本文。
述詞的 LCID 部分會指定搜尋地區設定。 這會指示搜尋引擎針對搜尋查詢使用適當的斷詞工具和變化形式。 若要指定地區設定,請提供 Windows 標準語言代碼識別碼 (LCID) 。 例如,1033 是美國英文的 LCID。 將 LCID 放置為 CONTAINS 子句括弧內的最後一個專案。 如需搜尋和語言的重要資訊,請參閱 使用當地語系化搜尋。
注意
預設搜尋地區設定是系統預設地區設定。
contains_condition部分必須以單引號括住單字或片語的雙引號,並且包含一或多個使用邏輯運算子 AND 或 OR結合的內容搜尋字詞。 您可以使用AND運算子之後的選擇性一元運算子NOT來否定內容搜尋字詞的邏輯值。
注意
NOT運算子只能在AND之後發生。 如果只有一個比對條件,或在OR運算子之後,您就無法使用NOT運算子。
您可以使用括弧來分組和巢狀內容搜尋字詞。 下表描述邏輯運算子的優先順序。
順序 (優先順序) | 邏輯運算子 |
---|---|
第一個 (最高) | NOT |
Second | AND |
第三個 (最低) | OR |
相同類型的邏輯運算子是關聯的,而且沒有指定的計算順序。 例如, (A AND B) AND (C AND D) 可以計算 (B AND C) AND ( A AND D) ,且邏輯結果沒有任何變更。
下表描述內容搜尋字詞的類型。
類型 | 描述 | 範例 | |
---|---|---|---|
Word | 不含空格或其他標點符號的單一單字。 不需要雙引號。 |
|
|
片語 | 多個單字或包含的空格。 |
|
|
萬用字元 | 將星號 (*) 新增至結尾的單字或片語。 如需詳細資訊,請參閱 CONTAINS 述詞中使用萬用字元。 |
|
|
全文檢索資料行 | 要符合其餘查詢的屬性資料行名稱。 |
|
|
Boolean | 使用布林運算子 AND、 OR或 NOT結合的字組、片語和萬用字元字串。 以雙引號括住布林詞彙。 |
|
|
Near | 以 NEAR 函數分隔的字組、片語或萬用字元。 如需詳細資訊,請參閱 NEAR Term。 |
|
|
FormsOf | 比對該單字的字組和變化版本。 如需詳細資訊,請參閱 FORMSOF 字詞。 |
|
|
IsAbout | 結合多個單字、片語或萬用字元搜尋字詞的比對結果。 每個搜尋字詞都可以選擇性地加權。 您可以選擇性地指定排名計算方法,此方法結合了加權和檔相符的專案數目。 如需詳細資訊,請參閱 ISABOUT 字詞。 |
|
本節包含下列主題: