Oracle 查询中判断语句的写法case when then else end

在查询时可能会根据某个条件来判断显示数据,此时就用到case语句 下面是一个查询示例: SELECT distinct a.certiType, a.certiNo, a.policyNo, d.riskCode, a.agentCode, (case when 'P' = a.certitype then b.sumpremium else c.chgpremium end ) as sumpremium, (select sacmain.disrate from sacmain where policyNo = a.policyno) as rate, d.confirmNo, d.uploadFlag FROM sarealpayfee a, sacmain b, sapmain c, sapolicyuploadplatformlog d, sacitemcar e WHERE a.policyno = b.policyno(+) and a.policyno = e.policyno(+) and a.certino = c.endorseno(+) and a.certino = d.certino and a.agentCode is not null and nvl(d.uploadFlag, 0) in ('0', '1') and a.accountno = '2120151103445' and a.riskCode in ('0332', '0335') and nvl(e.usenaturecode, 0) not in ('309009', '309008', '301006001', '301006002') and nvl(a.chagFlag, 0) <> '2' and (d.settleno is null or d.settleno = '2120151103445')

转载于:https://my.oschina.net/u/2272597/blog/719771

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值