谁可以给我解释一下这个?我下面有两个查询及其结果。
查询 :
select * from tbl where contains([name], '"*he*" AND "*ca*"')
结果集 :
赫兹租车 海明威小酒馆
赫兹租车
海明威小酒馆
select * from tbl where contains([name], '"*he*" AND "*ar*"')
没有
第一个查询是我期望的,但是我希望第二个查询返回“ Hertz Car Rental”。我是否从根本上误解了“ *”在全文搜索中的工作方式?
谢谢!
我认为SQL Server会将您的字符串解释为prefix_terms。星号不是普通的旧通配符。全文和包含是面向单词的。对于您想做的事情,最好使用普通的老式LIKE而不是CONTAINS。
http://msdn.microsoft.com/en- us/library/ms187787.aspx