0

我正在尝试将 SQL CONTAINS 函数与变量一起使用。通常,我可以通过以下方式使用 CONTAINS:

WHERE CONTAINS(tablename, '"some text to search for"')

但是,我不知道如何在该函数中插入一个变量,以允许我使用多个单词进行搜索。

WHERE CONTAINS(tablename, @Keyword)

只允许搜索一个单词,如果传递多个单词会抛出异常。

Msg 7630, Level 15, State 3, Procedure dbo.bp_SearchCategoryByKeyword, Line 11 [Batch Start Line 0] 全文搜索条件中“this”附近的语法错误

4

1 回答 1

2

我刚试过这个,它按预期工作:

DECLARE @SearchTerms varchar(8000) = 'file AND read';

SELECT MessageID, Description 
FROM dbo.Messages
WHERE CONTAINS(Description, @SearchTerms)
ORDER BY MessageID;

这也有效:

DECLARE @SearchTerms varchar(8000) = '"file" AND "read"';

SELECT MessageID,Description 
FROM dbo.Messages
WHERE CONTAINS(Description, @SearchTerms)
ORDER BY MessageID;
于 2020-01-06T12:27:22.450 回答