第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;

 

posted @ 2020-04-03 16:12  白云~  阅读(784)  评论(0编辑  收藏  举报