select *
from table
where 1=1
and (
case when condition1(@arg1) is true then 1 else 0 end
+ case when condition2(@arg2) is true then 1 else 0 end
+ case when condition3(@arg3) is true then 1 else 0 end
+ case when condition4(@arg4) is true then 1 else 0 end
+ case when condition5(@arg5) is true then 1 else 0 end
) >= 3
最简单的就是用使用and和or来完成