關(guān)于Oracle 中Contains 函數(shù)的用法總結(jié)

本文主要介紹了oracle 中contains 函數(shù)的用法,查詢地址在某個(gè)城市的學(xué)生,sql語(yǔ)句給大家介紹的非常詳細(xì),需要的朋友可以參考下,希望能幫助到大家。

1. 查詢住址在北京的學(xué)生

SELECT?student_id,student_name  FROM?students  WHERE?CONTAINS(?address,?'beijing'?)

remark: beijing是一個(gè)單詞,要用單引號(hào)括起來。

2. 查詢住址在河北省的學(xué)生

SELECT?student_id,student_nameFROM?students  WHERE?CONTAINS(?address,?'"HEIBEI?province"'?)

remark: HEBEI province是一個(gè)詞組,在單引號(hào)里還要用雙引號(hào)括起來。

3. 查詢住址在河北省或北京的學(xué)生

SELECT?student_id,student_nameFROM?students  WHERE?CONTAINS(?address,?'"HEIBEI?province"?OR?beijing'?)

remark: 可以指定邏輯操作符(包括 AND ,AND NOT,OR )。

4. 查詢有 ‘南京路’ 字樣的地址

SELECT?student_id,student_name  FROM?students  WHERE?CONTAINS(?address,?'nanjing?NEAR?road'?)

remark: 上面的查詢將返回包含 ‘nanjing road’,’nanjing east road’,’nanjing west road’ 等字樣的地址。
????????? A NEAR B,就表示條件: A 靠近 B。

5. 查詢以 ‘湖’ 開頭的地址

SELECT?student_id,student_name  FROM?students  WHERE?CONTAINS(?address,?'"hu*"'?)

remark: 上面的查詢將返回包含 ‘hubei’,’hunan’ 等字樣的地址。
????????? 記住是 *,不是 %。

6. 類似加權(quán)的查詢

SELECT?student_id,student_name  FROM?students  WHERE?CONTAINS(?address,?'ISABOUT?(city?weight?(.8),?county?wright?(.4))'?)

remark: ISABOUT 是這種查詢的關(guān)鍵字,weight 指定了一個(gè)介于 0~1之間的數(shù),類似系數(shù)(我的理解)。表示不同條件有不同的側(cè)重。

7. 單詞的多態(tài)查詢

SELECT?student_id,student_name  FROM?students  WHERE?CONTAINS(?address,?'FORMSOF?(INFLECTIONAL,street)'?)

remark: 查詢將返回包含 ‘street’,’streets’等字樣的地址。
??????? 對(duì)于動(dòng)詞將返回它的不同的時(shí)態(tài),如:dry,將返回 dry,dried,drying 等等。

8. 詞查詢示例

  詞查詢是對(duì)輸入到 CONTAINS 運(yùn)算符中單引號(hào)間的精確單詞或短語(yǔ)的查詢。在以下示例中,我們將查找文本列中包含 oracle 一詞的所有文檔。每行的分值由使用標(biāo)簽 1 的 SCORE 運(yùn)算符選定:

SELECT?SCORE(1)?title?from?news?WHERE?CONTAINS(text,'oracle',1)>?0;

  在查詢表達(dá)式中,可以使用 AND 和 OR 等文本運(yùn)算符來獲取不同結(jié)果。還可以將結(jié)構(gòu)性謂詞添加到 WHERE 子句中。可以使用 count(*)、CTX_QUERY.COUNT_HITS 或 CTX_QUERY.EXPLAIN 來計(jì)算查詢的命中 (匹配) 數(shù)目。

9 ABOUT查詢示例

  在所有語(yǔ)言中,ABOUT查詢?cè)黾恿四巢樵兯祷氐南嚓P(guān)文檔的數(shù)目。在英語(yǔ)中,ABOUT 查詢可以使用索引的主題詞組件,該組件在默認(rèn)情況下創(chuàng)建。這樣,運(yùn)算符將根據(jù)查詢的概念返回文檔,而不是僅依據(jù)所指定的精確單詞或短語(yǔ)。例如,以下查詢將查找文本列中關(guān)于主題 politics 的所有文檔,而不是僅包含 politics 一詞的文檔: 

SELECT?SCORE(1)?title?from?news?WHERE?CONTAINS(text,?'about(politics)',?1)?>?0;

大家學(xué)會(huì)了嗎?趕緊動(dòng)手自己嘗試一下吧。

相關(guān)推薦:

全文索引—CONTAINS語(yǔ)法

全文索引—CONTAINS語(yǔ)法

全文索引—CONTAINS語(yǔ)法

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享