从 csv 字符串进行 sql 搜索

2021-09-10 00:00:00 sql tsql sql-server-2008 sql-server

我正在做一个搜索页面,我必须用一个文本框搜索多个字段.所以我会在我的存储过程中以 CSV 字符串的形式获取搜索文本

im doing a search page where i have to search multiple fields with a single textbox. so i will get the search text as a CSV string in my stored procedure

我的表格如下

ID  Name          age   
5   bob           23    
6   bod.harry     34    
7   charles       44    

我需要一个类似这样的 sql 查询

i need a sql query something like this

declare @searchtext='bob,harry,charley'
select * from employee where  name like (@searchtext) 

此查询应返回此记录(id 5 和 6)

this query should return both this records (id 5 and 6)

推荐答案

你可以在存储过程中使用这种方式,

You can use this way in Stored Procedure,

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 + '
'
)

相关文章