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].[科目表]

得到结果

 

 

 


版权声明:本文为qq_21036939原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。