SQL语句--CASE函数写法的简单举例,及应用

SQL语句–CASE函数写法的简单举例,及应用

---case函数的基本结构:
 case 
      when...then...
      else...    ----可以写也可以不写,按实际需求
 end

【举个栗子_1】

eg1:
--我想实现的效果:
--当ID为1时,输出结果显示“财务部”、当ID为2时,输出结果显示“研发部”、当ID为3时,输出结果显示“人力资源部”
SELECT DepartmentID,
       CASE WHEN DepartmentID=1 THEN '财务部' 
            WHEN DepartmentID=2 THEN '研发部' 
			WHEN DepartmentID=3 THEN '人力资源部' 
	   END
FROM Department

为了明显看出效果,加了一列ID,以检验结果的正确性,
下图为执行语句后返回的结果:
在这里插入图片描述

【举个栗子_2】

eg2:
---在我的数据库中,这个表里只存在3个部门,
---所以当ID为1时,输出结果显示“财务部”、当ID为2时,输出结果显示“研发部”、
---当ID不是1也不是2时(即ID为3),输出结果显示“人力资源部”
SELECT DepartmentID,
       CASE WHEN DepartmentID=1 THEN '财务部' 
            WHEN DepartmentID=2 THEN '研发部' 
			ELSE  '人力资源部' 
	   END
FROM Department

下图为执行语句后返回的结果:
在这里插入图片描述
可看出与【eg1】中的返回结果一致

【举个栗子_3】
当select中有case函数,但需要进行分组时,把select中的那段case函数直接复制到group by 位置即可

eg3:
SELECT DepartmentID,
       CASE WHEN DepartmentID=1 THEN '财务部' 
            WHEN DepartmentID=2 THEN '研发部' 
			ELSE  '人力资源部' 
	   END
FROM Department
GROUP BY DepartmentID, 
       CASE WHEN DepartmentID=1 THEN '财务部' 
            WHEN DepartmentID=2 THEN '研发部' 
			ELSE  '人力资源部' 
	   END

下图为执行语句后返回的结果:
在这里插入图片描述
【举个栗子_4】

eg4:
SELECT DepartmentID,
       CASE WHEN DepartmentID<2 THEN '财务部' 
            WHEN DepartmentID>2 THEN '人力资源部'  			
	   END
FROM Department

返回结果:
当ID<2时,输出结果显示“财务部”、当ID>2时,输出结果显示“人力资源部”、
但没有说明当ID=2时的输出情况 ,所以输出结果显示为NULL
在这里插入图片描述

链接:关于CASE WHEN 需要注意的事项

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值