Подстановочные знаки в параметре SQL - PullRequest
2 голосов
/ 07 сентября 2011

Мне нужно сделать подобный поиск в моей базе данных SQL Server. НО, как мне это сделать, все еще используя параметры для моего поискового значения?

Я не говорю об инкапсуляции в %. Мне нужно иметь возможность добавить % в середине поискового слова.

WHERE title LIKE '%foo%bar%'

в качестве примера, но с параметрами.

Edit: Для уточнения параметров: Я использую MS SQL 2008 и C #, поэтому это будет:

WHERE title LIKE '@SearchParam'

и @SearchParam будут тогда установлены на "%foo%bar%".

Надеюсь, это имеет смысл?

Ответы [ 2 ]

3 голосов
/ 07 сентября 2011

отлично работает

create proc dbo.lookupWild(@LIKEclause VARCHAR(20))
as
begin
    select * from teams where Name like @LIKEclause
end
go
exec lookupWild 'E%G%'  

И такие вещи, как «1 = 1 - отбрасываемая таблица», не внедряются в SQL, а являются частью поиска по шаблону

0 голосов
/ 07 сентября 2011

Это должно работать нормально, если вы используете хранимые процедуры. Здесь - похожая тема.

Как избежать символов подстановки при поиске в SQL Server

Вы ищете что-то похожее ниже?

where title like '%foo[%]bar%'
...