Oracle数据库自带了decode()函数

Oracle数据库自带了decode()函数,函数的使用方法如下:
 
SELECT
  emp.ename,
  emp.job,
  emp.sal,
  decode(job, 'manager', sal * 1.2, 'ANALYST', sal * 1.1, 'salesman', sal * 1.05, Sal)
FROM emp;
 
 
类似于java中学过的case语句,根据不同的条件进行不同的操作,但是在Mysql中是不支持这个函数的想要实现上面的功能,Mysql中编写的代码如下:
 
SELECT
  emp.ename,
  emp.job,
  emp.sal,
  (CASE WHEN emp.job = 'manager'
    THEN sal * 1.2
  WHEN 'ANALYST'
    THEN sal * 1.1
  WHEN 'salesman'
    THEN sal * 1.05
  ELSE Sal END) as bonus
FROM emp;
 

猜你喜欢

转载自www.cnblogs.com/coder-wf/p/12198864.html
今日推荐