SQL中case when then用法

大概用法

--简单case函数
case sex
  when '1' then '男'
  when '2' then '女’
  else '其他' end
--case搜索函数
case when sex = '1' then '男'
     when sex = '2' then '女'
     else '其他' end  

举个例子吧

                                     ID NAME                        SEX
--------------------------------------- -------------------- ----------
                                      1 张一                 
                                      2 张二                          1
                                      3 张三                 
                                      4 张四                 
                                      5 张五                          2
                                      6 张六                          1
                                      7 张七                          2
                                      8 张八                          1
 
8 rows selected

1、上表结果中的"sex"是用代码表示的,希望将代码用中文表示。可在语句中使用case语句:

SQL> select u.id,u.name,u.sex,
  2    (case u.sex
  3      when 1 then '男'
  4      when 2 then '女'
  5      else '空的'
  6      end
  7     )性别
  8  from users u;

使用case when 分类计算结果

update  employee
    set         基础工资 =
    case
    when   job_level = '1'    then 基础工资 *1.00
    when   job_level = '2'   then 基础工资 *1.50
    when   job_level = '3'   then 基础工资 *2.00
    else     基础工资 *3
    end

实际使用

select *,
(case
when   [科目方向] = 'C'    then [科目代码] *2
when   [科目方向] = 'D'   then [科目代码] *4
else     [科目方向] *3
END)科目成绩
from [AS012016].[dbo].[科目表]

得到结果

 

 

 

  • 9
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值