日期:2014-05-18  浏览次数:20421 次

求该处where条件如何写
有一表,其中有2列(列a,列b)。列a为序号,列b中存储数据为如下格式,其中","为人为设定的间隔符
a b
1 1,2,3,44,555,77,8
2 22,4,6,8
3 22,4,99,55
4 44,3,22
如何通过一条sql语句查出b中字段同时含有22,4的所有记录

------解决方案--------------------
select * from 表
where charindex(',22,', ',' + b + ',') > 0 and charindex(',4,' ',' + b + ',') > 0
------解决方案--------------------
SQL code
select * from tb where charindex(',22,' , ',' + b + ',') > 0 and charindex(',4,' , ',' + b + ',') > 0

------解决方案--------------------
SQL code
select * from 表 where charindex(',22,',','+b+',')>0 and charindex(',4,',','+b+',')>0

------解决方案--------------------
SQL code
--这两种都行.
select * from tb where charindex(',22,' , ',' + b + ',') > 0 and charindex(',4,' , ',' + b + ',') > 0

select * from tb where ',' + b + ',' like '%,22,%' and ',' + b + ',' like '%,4,%'