我有以下WHERE
条款:
WHERE (@Keywords IS NULL
OR (CONTAINS((p.Title, p.Area, p.[Message]), @Keywords))
)
如果@Keywords = 'control'
,则查询成功执行并过滤我的记录
如果@Keywords = 'control of'
,则会收到以下错误:
在全文搜索条件'控制'。
中'of'附近的语法错误
为什么这样做以及我该怎么做才能解决问题?
我使用此方法而不是使用LIKE
条件的主要原因是我可以搜索多个单词。
答案 0 :(得分:37)
如果您想要完全搜索控制
,请将关键字用双引号括起来SET @Keywords = '"control of"'
如果您要搜索控制和 ,请使用以下内容:
SET @Keywords = 'control AND of'
但是服务器可能将视为>>作为垃圾或停用词,因此在这种情况下请使用以下内容:
SET @Keywords = 'control AND "of"'