SQLServer FullText搜索未返回预期结果

时间:2012-02-06 22:52:04

标签: sql-server full-text-search

select homephone,lastName from DEBTOR where contains((lastName,homephone),'"Smith" AND "99 999 9999"')

第一个查询没有使用AND子句返回结果,但是使用OR子句按预期工作,返回一些记录,其中Smith作为姓氏,一些记录为'99 999 9999'作为电话。

我试图在FullText中模拟以下查询。 我错过了什么?

select homephone,lastname from DEBTOR where lastName = 'Smith' and homePhone = '99 999 9999'

1 个答案:

答案 0 :(得分:4)

CONTAINS子句中的列列表不是位置的。在您编写查询时,您说要搜索两者 lastName homephone列,其中一个列必须包含两者“Smith”“99 999 9999”。

相反,将其拆分为两个独立的CONTAINS操作:

SELECT homephone,lastName 
    FROM DEBTOR 
    WHERE CONTAINS(lastName,'"Smith"')
      AND CONTAINS(homephone,'"99 999 9999"')