CASE-WHEN函数

1.场景

  • 场景:当我们需要将数据库中查询到的字段值,转换成其他值的时候,就需要使用CASE-WHEN函数。

      类似:Java中的switch-case语句。
    
  • 分类:Case具有两种格式。简单Case函数和Case搜索函数。

  • 举例说明:举例的场景是查询name字段,对结果做如下转换:

2.简单Case函数

  • 语法说明
case 列名
    when   条件值1   then  选择项1
    when   条件值2    then  选项2.......
    else     默认值
end

场景:简答查询结果转化
(1)'GEM': '邓紫棋'
(2)'JAY': '周杰伦'
(3)'allen716': '艾伦'
(4)其余:'NICK'

SQL语句

SELECT
CASE name 
    WHEN 'GEM' THEN '邓紫棋'
    WHEN 'JAY' THEN '周杰伦'
    WHEN 'allen716' THEN '艾伦'
    ELSE 'NICK'
END t_name  
FROM user;

3.Case搜索函数

  • 语法说明
case      when  列名 = 条件值1   then  选项1    when  列名 = 条件值2   then  选项2.......    else  默认值 end
  • 场景说明

    更新员工表中的工资,不同等级的员工,工资乘以不同的系数

    (1)等级:1 --- 工资系数:1.8
    (2)等级:2 --- 工资系数:1.5
    (3)等级:3 --- 工资系数:1.2
    (4)默认 --- 工资系数:1.1

  • SQL语句

    更新

UPDATE employee      
SET salary =      
CASE   
    WHEN level = '1' THEN salary * 1.8      
    WHEN level = '2' THEN salary * 1.5      
    WHEN level = '3' THEN salary * 1.2      
    ELSE salary * 1.1      
END

你可能感兴趣的:(CASE-WHEN函数)