case when嵌套

如果该列字段有为空的值,那么根据另一个字段值去判断结果,可以使用嵌套case when

select p.id,
       p.pay_no,
       p.pay_status,
       case when nvl(p.check_result,'-1')='-1'
            then
                 case when p.pay_status = 0 then '0'
                 END
            else p.check_result
       end check_result
  from cmis_plcs.LC_CASE_PAY p

这里需要注意pay_status是number类型,而check_result是varchar2类型

原文地址:https://www.cnblogs.com/pluto-yang/p/12551070.html