第12节--常用函数之CASE函数

case函数

使用一、类似于Java中SWITH CASE 的效果

语法:

case  要判断的字段或表达式

when 常量1 then 要显示的值1或语句1

when 常量2 then 要显示的值2或语句2

........

else 要显示的值n或语句n

end 

该用法适用于等值判断

例:查询员工的工资,要求 部门号=30,显示的工资为1.1倍;部门号=40,显示的工资为1.2倍;部门号=50,显示的工资为1.3倍;其他部门,显示的工资为原工资

select salary 原始工资,department_id,

case department_id

when 30 then salary*1.1

when 40 then salary*1.2

when 50 then salary*1.3

else salary

end as 新工资

from employees; 

使用二、类似于Java中的多重 if

语法:

case when 条件1 then 要显示的值1或语句1

        when 条件2 then 要显示的值2或语句2

        .........

       else 要显示的值n或语句n

       end

该用法适用于区间判断

案例:查询员工的工资情况,如果工资>20000.显示为A级别;如果工资>15000,显示为B级别;如果工资>10000,显示为C级别;否则显示为D级别

select salary,
case 
when salary>20000 then 'A' when salary>15000 then 'B' when salary>10000 then 'C' else 'D' end 工资等级 from employees;
Jasminelee
原文地址:https://www.cnblogs.com/Jasmine6-Lee/p/12627096.html