2

我正在我的 ASP.NET 应用程序中执行 SQL 前缀搜索。为此,我编写了一个存储过程,其中我正在编写以下查询:

SELECT Description, ProductDescriptionID
FROM Production.ProductDescription
WHERE CONTAINS (Description, ' "top*" ' );

@pvchProductName在我的程序中有参数。如何在上述查询中用参数值替换顶部单词?我面临单引号和双引号的语法问题。

4

1 回答 1

4
DECLARE @searchTerm nvarchar(60) = N' "' + @pvchProductName + N'*" ';
// where the "60" above should be adjusted to account for the length
// of pvchProductName, plus 5. So if pvchProductName is [n]varchar(30),
// then nvarchar(35) would be fine.

SELECT Description, ProductDescriptionID
FROM Production.ProductDescription
WHERE CONTAINS (Description, @searchTerm);

?

但是,尚不清楚您希望在过滤条件中包含多少引号/星号/空格 - 您可能需要检查一下。

于 2012-10-22T07:27:42.180 回答