谁可以给我解释一下这个?我有两个查询及其结果如下。
query:
select * from tbl where contains([name], '"*he*" AND "*ca*"')
结果集:
赫兹租车
海明威的小酒馆
query:
select * from tbl where contains([name], '"*he*" AND "*ar*"')
结果集:
nothing
第一个查询是我所期望的,但是我希望第二个查询返回“Hertz Car Rental”。我是否从根本上误解了“*”在全文搜索中的工作原理?
Thanks!
我认为 SQL Server 正在将您的字符串解释为 prefix_terms。星号不是普通的旧通配符说明符。全文和包含是面向单词的。对于您想要做的事情,您最好使用普通的旧式 LIKE 而不是 CONTAINS。
http://msdn.microsoft.com/en-us/library/ms187787.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)