如何在存储过程的包含方法中使用参数

How to use parameters in contains method in store procedure

我正在测试存储过程中包含的方法。我希望看到这样的数据结果:

John 的示例结果:

我不想使用 LIKE 方法。我们可以在 SP 中使用以 (*) 开头或以 (*) 结尾的运算符和参数吗?


CONTAINS(name,@name) // 查询正常

但如果我可以这样尝试:

CONTAINS(name, '"john" OR "john*"') // 查询有效
CONTAINS(name,'"@name" OR "@name*"') // 查询无效

使用参数相同的查询在 SP 中不起作用。在 SP 中可以这样做吗?

谢谢,

使用CONTAINS,为了通过变量传递通配符,您需要使通配符成为变量的一部分。

在存储过程中执行此操作的最简单方法是添加变量(或修改当前变量)。

例如,

DECLARE @nameX NVARCHAR(4000) = '"' + @name + '" OR "' + @name + '*"'
...
CONTAINS(name, @nameX)