decode()和SQL语法case表达式

方法一:

使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

select ename "姓名",job "职位",sal "原工资",

  case job

    when 'ANALYST' then sal+1000

    when 'MANAGER' then sal+800

    else sal+400

       from emp;

方法二:

使用oracle专用语法中的decode()函数

职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400
decode(字段,条件1,表达式1,条件2,表达式2,……表达式n)

select ename “姓名”,job “职位”,sal “原工资”,
          decode(job,’ANALYST’,sal+1000,’MANAGER’,sal+800,sal+400)
        “涨后工资”
from emp;

原文地址:https://www.cnblogs.com/almm/p/14474299.html