好纠结的问题,看看能用什么方法!求思路
获取到的数据格式是varchar类型如('1001','分类1','分类2')
- SQL code
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
通过上面的逗号分割字符串,去获取数据,得到的字符串在demo表中对于的name和code
结果应该是想匹配的3条数据
[解决办法]
[name] in('1001','分类1','分类2')
or
code in('1001','分类1','分类2')
[解决办法]
你看一下这个
http://blog.csdn.net/peng13nannan/article/details/7418927
[解决办法]
- SQL code
select * from demowhere name in('1001','分类1','分类2') or code in('1001','分类1','分类2')
[解决办法]
- SQL code
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*/
[解决办法]