好纠结的问题,看看能用什么方法!求思路
获取到的数据格式是varchar类型如('1001','分类1','分类2')
create table demo(id int,[name] varchar(20),code varchar(20))insert into demoselect 3,'aa','1001' union all select 4,'bb','2001' union allselect 5, 'cc','3001' union allselect 6, '分类1','4001' union allselect 7, '分类2','5001'select * from demoid name code----------- -------------------- --------------------3 aa 10014 bb 20015 cc 30016 分类1 40017 分类2 5001
select * from demowhere name in('1001','分类1','分类2') or code in('1001','分类1','分类2')
[解决办法]
DECLARE @Str VARCHAR(1000)SET @Str = '1001,分类1,分类2'create table demo(id int,[name] varchar(20),code varchar(20))insert into demoselect 3,'aa','1001' union all select 4,'bb','2001' union allselect 5, 'cc','3001' union allselect 6, '分类1','4001' union allselect 7, '分类2','5001'select * from demoWHERE CHARINDEX(',' + name + ',',',' + @Str + ',') > 0 OR CHARINDEX(',' + code + ',',',' + @Str + ',') > 0/*id name code3 aa 10016 分类1 40017 分类2 5001*/
[解决办法]