SQLServer_where添加类似ifelse条件(casewhen)

java

		if (status!=null && !status.equals(""))
		{
			
			wheresql+="AND ISNULL(h.address, '') = 'hangzhou' ";
			if (status.equals("1")){//是
				wheresql+=" and y.is=1 ";
			}
			if (status.equals("0")){//否
				wheresql+=" and y.isActive=0 ";
			}
			if (status.equals("-1")){//空
				wheresql+=" and y.isActive is null AND y.newStatus in ( '3','5' ) ";
			}
		}

sqlserver

where 1=1 
and ( isnull('${status}','')=''
or
(
case when ISNULL(h.address, '') = 'hangzhou'  and c.isActive=1 then 1
when ISNULL(h.address, '') = 'hangzhou'  and c.isActive=0 then 0
when ISNULL(h.address, '') = 'hangzhou'  and c.isActive is null AND c.newStatus in ( '3','5' ) then -1
end  
)=isnull('${status}','')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值