我的全文搜索出错了什么?如果这个代码
Select UserID, UserName
From Users
Where Contains([UserName], '%Jack%')
我收回用户插孔,但如果我这样做
Select UserID, UserName
From Users
Where Contains([UserName], '%Ja%')
我什么都搞错了什么都没有?
答案 0 :(得分:3)
您正在将LIKE语法与CONTAINS混合使用。请记住,全文搜索是基于单词的,而像搜索字符串中的字符模式一样。
尝试:
Select UserID, UserName
From Users
Where Contains([UserName], '"Ja*"')
答案 1 :(得分:0)
Contains([UserName], '"Ja*"')
- PREFIX搜索的语法。匹配“杰克”而不是“阿贾克斯”
您无法使用全文搜索进行任何POSTFIX搜索。如果你要尝试:
Contains([UserName], '"*Ja*"') -- wrapped in *
这实际上仍会进行PREFIX ONLY搜索,它将删除所有不正确语法的特殊字符,这意味着第一个*将被剥离然后运行。如果您需要开放式搜索,则需要使用%%仍然查找内部部分或单词。