我在做一个搜索页面,我必须用一个文本框搜索多个字段。因此我将在存储过程中将搜索文本作为CSV字符串获取
我的桌子如下
ID Name age 5 bob 23 6 bod.harry 34 7 charles 44
我需要这样的SQL查询
declare @searchtext='bob,harry,charley' select * from employee where name like (@searchtext)
该查询应返回这两个记录(ID 5和6)
您可以在存储过程中使用这种方式,
declare @searchtext varchar(1000) set searchtext ='bob,harry,charley' declare @filter varchar(2000) set @filter = '(name LIKE ''%' + replace('bob,harry,charley',',','%'' OR name LIKE ''%') + '%'')' exec (' select * from mytab where ' + @filter + ' ' )