我需要在我的SQL Server数据库中进行类似搜索。但是,我如何使用参数作为搜索值?
我不是在谈论封装在%
中。我需要能够在搜索词的中间添加%
。
WHERE title LIKE '%foo%bar%'
作为一个例子,但有params。
编辑: 详细说明参数: 我正在使用MS SQL 2008和C#,所以它将是:
WHERE title LIKE '@SearchParam'
然后将和@SearchParam
设置为"%foo%bar%"
。
我希望这有道理吗?
答案 0 :(得分:3)
这很好用
create proc dbo.lookupWild(@LIKEclause VARCHAR(20))
as
begin
select * from teams where Name like @LIKEclause
end
go
exec lookupWild 'E%G%'
“1 = 1 - drop table”之类的东西不是SQL注入的,它们只是通配符搜索的一部分
答案 1 :(得分:0)
如果您使用的是存储过程,这应该可以正常工作。 Here是一个类似的主题。
How to Escape Wildcard Characters While Searching in SQL Server
你在找下面的东西吗?
where title like '%foo[%]bar%'