我正在索引 SQL Server 2008 R2 数据库上执行以下 SQL 语句。
SELECT * FROM mydatabase WHERE (CONTAINS(ColumnA,'"The Apple is red"'))
问题是它返回的条目太多。它还返回“ColumnA”仅包含一个单词(“Apple”或“is”或“red”...)的条目,而不仅仅是包含确切短语的条目。
根据 MSDN,这应该是搜索短语的方式。
谢谢cpt.oneeye
我正在索引 SQL Server 2008 R2 数据库上执行以下 SQL 语句。
SELECT * FROM mydatabase WHERE (CONTAINS(ColumnA,'"The Apple is red"'))
问题是它返回的条目太多。它还返回“ColumnA”仅包含一个单词(“Apple”或“is”或“red”...)的条目,而不仅仅是包含确切短语的条目。
根据 MSDN,这应该是搜索短语的方式。
谢谢cpt.oneeye
您可以尝试这样(删除double quotes ""
):-
SELECT * FROM mydatabase WHERE (CONTAINS(ColumnA,'The Apple is red'))
类似的问题出现在MSDN 站点示例
SELECT * FROM mydatabase WHERE ColumnA = 'The Apple is red'
或者
Select * FROM mydatabase WHERE ColumnA LIKE '%The Apple is red%'
% 表示在表达式之前或之后可能会有不同的内容。如果不是这种情况,或者您不想选择这些,您可以使用第一个。