在SQL Server的名称字段上做部分匹配
问题描述:
我需要在名称搜索上启用部分匹配。目前它与Like '%@name%'
一起使用,但它不够好。在SQL Server的名称字段上做部分匹配
我们需要启用名字和姓氏的输入,并且都需要是部分的,所以我假设全文是要走的路。
问题是,我不能让它做一个名称的部分匹配。例如,搜索我的名字(Fedor Hajdu)将工作,如果我输入完整但不是部分的任何部分(例如,它应该匹配'fe ha'
的搜索
我该如何做到这一点?可以将全文索引设置为这样做的音节匹配
答
使用CONTAINS()或CONTAINSTABLE()只需在匹配字符串的末尾添加*:
CONTAINS(Description,'top *“');
如果你有你的字符串作为参数,你可以串连这样的:
SET @SearchTerm =' “+ @NameParameter + '*”'
CONTAINS(描述,SEARCHTERM);
https://technet.microsoft.com/en-us/library/ms142492(v=sql.105).aspx
无论是那些帮助(至少在我用他们的方式)的 – 2012-04-05 08:54:02
好,我看到的只有一个选项,然后离开。请参阅我的编辑 – Diego 2012-04-05 09:02:59
+1链接 – Shiham 2014-09-25 10:08:53