mysql-DQL- 空处理函数ifnull - case..when..then..when..then..else..end
一、ifnull:ifnull之间没有空格
- ifnull 是空处理函数,专门处理空的,在所有的数据库中,只要有null参与的数学运算,最终结果就是NULL。
- 可以使用ifnull 函数,如果“数据”是null,函数会把null当作一个数值处理(数值需要指定)。
- 案例:计算每个员工的年薪:年薪=(月薪+comm月补助)*12
- 错误示范:select ename,(sal + comm) *12 as yearsal from emp;
- 正确示范: select ename,(sal + ifnull(comm,0)) * 12 as yearsal from emp;如图2
二、函数:
- case..
- when..then..
- when..then..
- else..end
- 案例:当员工的做工岗位是:MANAGER时,工资上调10%,当员工岗位是:SALESMAN,上调50%,其他情况不变;
select
ename,job,(case job when 'MANAGER' then sal*1.1 when 'SALESMAN' then sal*1.5 else sal end) as newsal
from
emp;