34,590
社区成员
发帖
与我相关
我的任务
分享
-- 用于保存三个数的变量假设为@redvar
declare @redvar varchar(20)
set @redvar='4,28,50'
--red1,red2,red3,red4,red5分别与@redvar比较,看是否被包含,用一case语句来判断,是返回1非返回0 结果相加>=3即合条件
select * from aa
where case when charindex(','+red1+',',','+@redvar+',')>0 then 1 else 0 end
+case when charindex(','+red2+',',','+@redvar+',')>0 then 1 else 0 end
+case when charindex(','+red3+',',','+@redvar+',')>0 then 1 else 0 end
+case when charindex(','+red4+',',','+@redvar+',')>0 then 1 else 0 end
+case when charindex(','+red5+',',','+@redvar+',')>0 then 1 else 0 end>=3