小编典典

SQL包含问题

sql

谁可以给我解释一下这个?我下面有两个查询及其结果。


查询

select * from tbl where contains([name], '"*he*" AND "*ca*"')

结果集

赫兹租车

海明威小酒馆


查询

select * from tbl where contains([name], '"*he*" AND "*ar*"')

结果集

没有


第一个查询是我期望的,但是我希望第二个查询返回“ Hertz Car Rental”。我是否从根本上误解了“ *”在全文搜索中的工作方式?

谢谢!


阅读 176

收藏
2021-04-07

共1个答案

小编典典

我认为SQL
Server会将您的字符串解释为prefix_terms。星号不是普通的旧通配符。全文和包含是面向单词的。对于您想做的事情,最好使用普通的老式LIKE而不是CONTAINS。

http://msdn.microsoft.com/en-
us/library/ms187787.aspx

2021-04-07