Oracle 中Contains 函数的用法
1.查询住址在北京的学生
SELECTstudent_id,student_name FROMstudents WHERECONTAINS(address,'beijing')
remark:beijing是一个单词,要用单引号括起来。
2.查询住址在河北省的学生
SELECTstudent_id,student_nameFROMstudents WHERECONTAINS(address,'"HEIBEIprovince"')
remark:HEBEIprovince是一个词组,在单引号里还要用双引号括起来。
3.查询住址在河北省或北京的学生
SELECTstudent_id,student_nameFROMstudents WHERECONTAINS(address,'"HEIBEIprovince"ORbeijing')
remark:可以指定逻辑操作符(包括AND,ANDNOT,OR)。
4.查询有'南京路'字样的地址
SELECTstudent_id,student_name FROMstudents WHERECONTAINS(address,'nanjingNEARroad')
remark:上面的查询将返回包含'nanjingroad','nanjingeastroad','nanjingwestroad'等字样的地址。
ANEARB,就表示条件:A靠近B。
5.查询以'湖'开头的地址
SELECTstudent_id,student_name FROMstudents WHERECONTAINS(address,'"hu*"')
remark:上面的查询将返回包含'hubei','hunan'等字样的地址。
记住是*,不是%。
6.类似加权的查询
SELECTstudent_id,student_name FROMstudents WHERECONTAINS(address,'ISABOUT(cityweight(.8),countywright(.4))')
remark:ISABOUT是这种查询的关键字,weight指定了一个介于0~1之间的数,类似系数(我的理解)。表示不同条件有不同的侧重。
7.单词的多态查询
SELECTstudent_id,student_name FROMstudents WHERECONTAINS(address,'FORMSOF(INFLECTIONAL,street)')
remark:查询将返回包含'street','streets'等字样的地址。
对于动词将返回它的不同的时态,如:dry,将返回dry,dried,drying等等。
8.词查询示例
词查询是对输入到CONTAINS运算符中单引号间的精确单词或短语的查询。在以下示例中,我们将查找文本列中包含oracle一词的所有文档。每行的分值由使用标签1的SCORE运算符选定:
SELECTSCORE(1)titlefromnewsWHERECONTAINS(text,'oracle',1)>0;
在查询表达式中,可以使用AND和OR等文本运算符来获取不同结果。还可以将结构性谓词添加到WHERE子句中。可以使用count(*)、CTX_QUERY.COUNT_HITS或CTX_QUERY.EXPLAIN来计算查询的命中(匹配)数目。
9ABOUT查询示例
在所有语言中,ABOUT查询增加了某查询所返回的相关文档的数目。在英语中,ABOUT查询可以使用索引的主题词组件,该组件在默认情况下创建。这样,运算符将根据查询的概念返回文档,而不是仅依据所指定的精确单词或短语。例如,以下查询将查找文本列中关于主题politics的所有文档,而不是仅包含politics一词的文档:
SELECTSCORE(1)titlefromnewsWHERECONTAINS(text,'about(politics)',1)>0;
总结
以上所述是小编给大家介绍的Oracle中Contains函数的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!