У меня есть параметр с несколькими значениями.Поиск текста для параметра с несколькими значениями в SQL Server с содержит
Я хочу выполнить то же самое, что и запрос 1, используя полнотекстовый поиск.
Запрос 1:
Declare @Class nvarchar(32)
select *
from Products p
where p.Class in (@Class)
Теперь я хочу, чтобы использовать полнотекстовый поиск, используя содержат:
Запрос 2
Declare @Class nvarchar(32)
select *
from Products p
where contains(Class, @Class)
Этот запрос отлично работает, если пользователь выберите только одно значение для @Class
.
Если пользователь выбирает больше значений, он не работает.
Любая идея, как это можно достичь?
В зависимости от того, сколько параметров, которые вы хотите поддержать вы можете использовать sproc, который принимает параметры и по умолчанию их имеет значение null, или вы можете использовать динамический запрос, который будет поддерживать столько, сколько вы хотите, но вам нужно использовать проверку данных в своем приложении, поскольку динамический sql позволяет SQL-инъекцию. –