case when then的用法
用法一:等值判断,相当于switch
CASE expression
WHEN value1 THEN returnValue1
WHEN value2 THEN returnValue2
WHEN value3 THEN returnValue3
ELSE defaultValue
END
例子:论坛中用户的等级
create table [user]
(
uId int identity(1,1) primary key,
name varchar(50),
level int --1骨灰 2大虾 3菜鸟
)
insert into [user] (name,level) values('犀利哥',1)
insert into [user] (name,level) values('小月月',2)
insert into [user] (name,level) values('芙蓉姐姐',3) select name,等级=(
case level
when 1 then '骨灰'
when 2 then '大虾'
when 3 then '菜鸟'
end
)
from [user]
用法二:区间判断,相当于if…else if…else…
CASE
WHEN condition1 THEN returnValue1
WHEN condition 2 THEN returnValue2
WHEN condition 3 THEN returnValue3
ELSE defaultValue
END
例子:
select studentId,成绩=(
case
when english between 90 and 100 then 'A'
when english between 80 and 89 then 'B'
when english between 70 and 79 then 'C'
when english between 60 and 69 then 'D'
when english < 60 then 'E'
else '缺考'
end
)
from score
注意:then后面返回的数据类型要一致, returnValue1、 returnValue2、 returnValue3的数据类型必须一致。
case when then的用法的更多相关文章
- MySQL中case when的基本用法总结
MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...
- Linux之shell脚本for、while、case语句的高级用法
1.case语句的用法: [root@ELK-chaofeng test]# cat test3.sh #!/bin/bash while true ;do read -p "please ...
- 数据库SQL中case when函数的用法
Case具有两种格式,简单Case函数和Case搜索函数.这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 简单Cas ...
- oracle case when 语句的用法详解
1. CASE WHEN 表达式有两种形式 复制代码代码如下: --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他 ...
- sehll-011:case脚本的基本用法
## 注意判断的括号里的用法, 变量用双引号,且括号后面带空格.否则可能会有报错. #!/bin/bash # 我们可以认为1-3是三个不同的大脚本.我这里用简单的命令代替. echo " ...
- SQL Server中【case...end】的用法
在SQL Server中 case...end 语句,一般有如下两种用法: 1.相当于C#中if...else,例: select CName,头衔=case when CLevel='A1' the ...
- case...when...then if 用法
select case when if 的一些用法 概述:sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作. 首先,让 ...
- case和decode的用法(行转列)
创建了一张成绩表,如下图所示: 在oracle中,这两个函数我们都可以使用,代码及结果如下: decode用法: select Name,decode(Subject,'语文',1,'数学',2,'英 ...
- SQL 中case when then else 用法
SQL如下: SELECT DISTINCTsy_haken_type,sy_sagyo_type,sy_kokyaku_cdFROm tbl_syukeiWHERE (sy_sagyo_ymd be ...
随机推荐
- .NET Core 用 VS Code新建各种类型的项目
用命令行找个地方, 建立目录, 然后执行一下dotnet new --help命令, 查看一下建项目的帮助: 那我建立一个不带用户验证的mvc项目: dotnet new mvc --auth Non ...
- (4.2)mysql备份还原——备份概述
1.什么情况下会用到备份呢? [1.1]灾难恢复 [1.2]单位审计:数据库在过去某一个点是什么样的 [1.3]跨机房灾备:异地备份 [1.4]认为的DDL或者DML语句,导致主从库的数据消失 [1. ...
- 理解Spark里的闭包
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/rlnLo2pNEfx9c/article/details/80650309 闭包的概念例如以下图: ...
- 20170720 Celery 异步任务处理到Sql Server 发生死锁
-- 1. 异常提示情况如下: 需要解决为什么引起死锁 -- 叹气 原因: 在使用Celery 启用了 配置参数 CELERYD_CONCURRENCY = 10 表示开了10块线程池. 有好处, ...
- UDP网络通信
网络概念 一.目的 二.IP地址 三.端口 一.目的 目的 : 主要用于让两个用户端的服务器或者客户端,可以实现资源共享和信息传递 二.IP地址 1.作用 : 计算机网络中一台计算机的标识 2.种类 ...
- 003-读书笔记-企业IT架构转型之道-阿里巴巴中台战略思想与架构实战-分布式服务框架的选择
3.1.淘宝平台“服务化”历程 大约2007年,淘宝500人团队,维护一个war包,200多个功能模块. 1)项目团队协同成本高,业务响应越来越慢 2)应用复杂度超出人的认知负载. 3)错误难于隔离[ ...
- js计算常见操作
如何实现数字相加 var a = 1, var b = 2, var c = a + b 这样c得出来的解果是12, 使用Number()函数可以解决这个问题,如下 var c = Number(a) ...
- Py打开pkl文件【转载】
转自:https://blog.csdn.net/u010041824/article/details/78391683 1.打开带有中文的pkl文件或者其他字符的文件不能用默认的ascii格式打开, ...
- PHP面试准备
框架:Laravel,Yii,Tp (1)纵向不同版本及框架本身特性 (2)横向对比,不同框架的优缺点 面向对象编程: (1)面向对象的基本特征:封装,继承,多态 (2)设计模式:单例模式,工厂模式, ...
- cocos2dx 3.x(打开网页webView)
#include "ui/CocosGUI.h" using namespace cocos2d::experimental::ui; WebView *webView = Web ...