case when 与decode

来源:互联网 发布:m1a59sep 知乎 编辑:程序博客网 时间:2024/05/09 20:22
select decode(null,
              null,2,
              3,3,
              4) from dual;

-------------------
2

select case null
       when null then 2
       when 3 then 3
       else 4
       end from dual;
-----------------------
4

总结,一般这两种写法可以互换,但值得注意地是·如果表达式为NULL的情况,结果会不一样·
decode是函数,case是运算符,按Oracle的比较运算符法则有操作数是null则返回非真值。

原创粉丝点击