6

我需要在名称搜索中启用部分匹配。目前它可以使用,Like '%@name%'但还不够好。

我们需要启用输入名字和姓氏,并且两者都需要是部分的,所以我假设全文是要走的路。

问题是我无法让它对名称进行部分匹配。例如,搜索我的名字 (Fedor Hajdu) 将起作用,如果我输入全部而不是部分的任何部分(它应该匹配'fe ha'例如搜索。

我怎样才能做到这一点?可以将全文索引设置为执行音节匹配之类的操作吗?

4

2 回答 2

3

哼哼三个可以帮助您的选项:

  1. 屈折形式(链接
  2. 包含 NEAR(链接
  3. 包含加权值(链接

如果这没有帮助,请获取字符串 'fe ha' 并在每个空白处添加一个 '%' 并执行 Like:

Like '%fe%ha%'
于 2012-04-05T08:38:03.547 回答
0

使用 CONTAINS() 或 CONTAINSTABLE() 您需要做的就是在匹配字符串的末尾添加 * :

包含(描述,'"top*"');

如果你有你的字符串作为参数,你可以像这样连接:

SET @SearchTerm = '"' + @NameParameter + '*"'

包含(描述,搜索词);

https://technet.microsoft.com/en-us/library/ms142492(v=sql.105).aspx

于 2016-10-21T22:02:49.367 回答