博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
case when then else end
阅读量:4613 次
发布时间:2019-06-09

本文共 876 字,大约阅读时间需要 2 分钟。

本文参考自,特此说明

简单Case函数 

类似与Java中的switch case(一个case一种情况),常用

SQL如下:

select case student_name when 'Jef' then concat(student_name, '.tu')when 'Ran' then concat(student_name, '.ren')else concat(student_name, '.xu')end '姓名'from interest;

更经典的使用场景:已知数据按照另外一种方式进行分组。例如,已知国家和人口,要求按照洲来统计人数

Case搜索函数

上面的SQL等效于下面这种方式:如果条件的字段名是一样的,并且是用于=操作的,建议采用简单case函数,这样比较简洁,但是写判断式还是推荐用这种。 

select case  when student_name = 'Jef' then concat(student_name, '.tu')when student_name = 'Ran' then concat(student_name, '.ren')else concat(student_name, '.xu')end '姓名'from interest;-- 类似于下面的意思if () {    ...} else if () {    ...} else {    ...}

更经典的使用场景:可以用这个方法来判断工资的等级,并统计每一等级的人数

注意项:有一个需要注意的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。 

用一个SQL语句完成不同条件的分组

常用语行列转换,

在check中使用case

根据条件有选择的UPDATE

这里是为了避免多条语句更新时带来的逻辑上的问题,使用case进行更新可以用一条语句进行更新

两个表数据是否一致的检查

在case函数中使用合计函数 

 

转载于:https://www.cnblogs.com/tufujie/p/8998860.html

你可能感兴趣的文章
使用 NPOI 、aspose实现execl模板公式计算
查看>>
行为型模式:中介者模式
查看>>
How to Notify Command to evaluate in mvvmlight
查看>>
33. Search in Rotated Sorted Array
查看>>
461. Hamming Distance
查看>>
Python垃圾回收机制详解
查看>>
jquery 编程的最佳实践
查看>>
MeetMe
查看>>
IP报文格式及各字段意义
查看>>
(转载)rabbitmq与springboot的安装与集成
查看>>
C2. Power Transmission (Hard Edition)(线段相交)
查看>>
STM32F0使用LL库实现SHT70通讯
查看>>
Atitit. Xss 漏洞的原理and应用xss木马
查看>>
MySQL源码 数据结构array
查看>>
(文件过多时)删除目录下全部文件
查看>>
T-SQL函数总结
查看>>
python 序列:列表
查看>>
web移动端
查看>>
pythonchallenge闯关 第13题
查看>>
个人介绍
查看>>