我正在尝试制作全文搜索存储过程。它将搜索关键字/术语存储在从Web表单传递给它的参数中。
单字搜索工作正常,但是当我搜索诸如" Xbox One"之类的短语时那就失败了。我知道我需要在引号中包含这个短语,因为它的参数化我不知道如何实现它。
以下是我的代码的外观:
DECLARE @SearchTerm nvarchar(1000)
SELECT
ProductName
FROM
dbo.Products p1
WHERE
CONTAINS((p1.ProductName), @SearchTerm)
我需要放置@SearchTerm
这样的参数:N' "@SearchTerm" '
,但这显然不能正常工作。
当我使用参数来保存SearchTerm时,如何允许在字符串中包含空格的CONTAINS短语搜索?
答案 0 :(得分:1)
你有没有尝试过:
DECLARE @SearchTerm nvarchar(1000)
SET @SearchTerm = N'"' + @SearchTerm + N'"'
SELECT
ProductName
FROM
dbo.Products p1
WHERE
CONTAINS((p1.ProductName), @SearchTerm)