Mysql decode()函数的实现

来源:互联网 发布:java length 中文 编辑:程序博客网 时间:2024/06/05 04:03

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;


原创粉丝点击