问答详情
源自:6-15 decode函数的使用

decode与case when什么区别

刚刚学,不知道,求教

提问者:qq_MJX_0 2017-02-11 13:09

个回答

  • 慕仰0354868
    2017-02-11 13:10:49
    已采纳

     1.DECODE 只有Oracle 才有,其它数据库不支持;
     2.CASE WHEN的用法, Oracle、SQL Server、 MySQL 都支持;
     3.DECODE 只能用做相等判断,但是可以配合sign函数进行大于,小于,等于的判断,CASE when可用于=,>=,<,<=,<>,is null,is not null 等的判断;
     4.DECODE 使用其来比较简洁,CASE 虽然复杂但更为灵活;
     5.另外,在decode中,null和null是相等的,但在case when中,只能用is null来判断