高级函数-decode

decode(字段或计算表达式,
          条件值1,结果值1,
          条件值2,结果值2[,默认值]
          )
 
   if(字段或计算表达式 == 条件值1){
      return 结果值1;
   }else if(字段或计算表达式 == 条件值2){
      return 结果值2;
   }else{
      return 默认值;
   }
 
   //将查询的sal列显示大写形式
  select empno,ename,
         decode(sal,800,'捌佰元',
           1100,'壹仟一佰元',
           1300,'壹仟叁佰元',
           1600,'壹仟陆佰元',
           '默认值') upper
  from emp;
  //统计部门编号,工资大于等于2000的人数,
  //小于2000的人数,该部门总人数
  select deptno,count(*) total,
   sum(decode(sign(sal-2000),-1,0,1)) great,
   sum(decode(sign(sal-2000),-1,1,0)) least
  from emp
  where deptno is not null
  group by deptno;
原文地址:https://www.cnblogs.com/yunman/p/5497580.html