自学内容网 自学内容网

Oracle-decode和case when的用法

 -- case when  通用  功能比decode强大多了

-- decode 可以实现的 CASE WHEN都可以实现

-- decode 针对一个字段的值去判断

SELECT e.* 

      ,DECODE(e.job,

             SALESMAN,销售员,

                 PRESIDENT,董事长

                 ,分析师;      --剩下的都是分析师 如果是确定的不建议这么写

              ) AS new_job

  FROM emp e;

-- case when 改写上面的语句    语法:case when 条件  then 值 else end

SELECT e.*  

      ,CASE WHEN job = 'CLERK'     THEN '职员'                

            WHEN job = 'SALESMAN'  THEN '销售员'

            WHEN job = 'PRESIDENT' THEN '董事长'

            WHEN job = 'MANAGER'   THEN '经理'

           -- WHEN job = 'ANALYST'   THEN '分析师'

            ELSE '分析师'         --剩下的都是分析师,我们尽量不写 else  代码可读性不强

        END AS new_job        

  FROM emp e;


原文地址:https://blog.csdn.net/weixin_64770547/article/details/144050352

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!