【网学网提醒】:本文主要为网学会员提供全文索引T-SQL,希望对需要全文索引T-SQL网友有所帮助,学习一下!
全文索引——CONTAINS语法
我们通常在WHERE子句中使用CONTAINS,就象这样:SELECT*FROMtable_nameWHERECONTAINS(fullText_column,'searchcontents')。
我们通过例子来学习,假设有表students,其中的address是全文本检索的列。
1.查询住址在北京的学生
SELECTstudent_id,student_name
FROMstudents
WHERECONTAINS(address,'beijing')
remark:beijing是一个单词,要用单引号括起来。
2.查询住址在河北省的学生
SELECTstudent_id,student_name
FROMstudents
WHERECONTAINS(address,'"HEIBEIprovince"')
remark:HEBEIprovince是一个词组,在单引号里还要用双引号括起来。
3.查询住址在河北省或北京的学生
SELECTstudent_id,student_name
FROMstudents
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等等。
以上例子都使用英文,不使用中文是因为有的查询方式中文不支持,而且我的计算机是英文系统。
全文索引——CONTAINS语法
我们通常在WHERE子句中使用CONTAINS,就象这样:SELECT*FROMtable_nameWHERECONTAINS(fullText_column,'searchcontents')。
如果你在选定字段中查询一个匹配的直接使用
如:
从company中检查是否有test1的则:
select*fromcompany
wherecontains(*,'test1')
如果要检查的是两个关键字,如是或地关系:
select*fromcompany
wherecontains(*,'"北京"or"tttt"')
注意:关键字“北京”和“tttt”必须用"",包括起来,or代表两个关键字之间是"或"的关系
如果是与的关系:
select*fromcompany
wherecontains(*,'"北京"and"tttt"')
如果是三个关键字则:
关键字前的那个or或者and表示跟其他关键字的关系
a
nd表示两个词是靠近的
类别:Sql||添加到搜藏|分享到i贴吧|浏览(604)|评论(0)上一篇:个完整的SQLSERVER数据库全文索...下一篇:用post方法从网上抓取信息相关文章:?全文索引:Sql的Contains语法?全文索引——CONTAINS语法
最近读者: