1

我将@Description参数传递给存储过程(VARCHAR)。参数可能类似于the book. 我想返回该列同时包含the和的记录book

这些记录将返回:

  • the green book
  • the huge orange book

我有一个 split 函数可以@Description按空格分割参数,但我不知道如何将它包含在 where 子句中......我还需要忽略@Description参数NULL

免责声明:如果之前有人问过这个问题,我深表歉意......我搜索了一段时间,没有找到任何东西。

4

1 回答 1

2

好吧,如果你想得到一个包含参数中所有单词的结果,你可以这样做:

SELECT A.YourFields
FROM YourTable A
INNER JOIN (SELECT *, COUNT(*) OVER() Total FROM dbo.Split(@Description)) B
ON A.YourField LIKE '%' + B.Data + '%'
GROUP BY A.YourFields
HAVING COUNT(*) = MAX(B.Total)
于 2012-04-20T13:38:00.573 回答