SQL CASE WHEN用法
首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下:
SELECT <</SPAN>myColumnSpec > =
CASE
WHEN <</SPAN>A > THEN <</SPAN>somethingA >
WHEN <</SPAN>B > THEN <</SPAN>somethingB >
ELSE <</SPAN>somethingE >
END
在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子:
USE pubs
GO
SELECT
Title,
' Price Range ' =
CASE
WHEN price IS NULL THEN ' Unpriced '
WHEN price <</SPAN> 10 THEN ' Bargain '
WHEN price BETWEEN 10 and 20 THEN ' Average '
ELSE ' Gift to impress relatives '
END
FROM titles
ORDER BY price
GO
这是 CASE 的典型用法,但是使用 CASE 其实可以做更多的事情。比方说下面的 GROUP BY 子句中的 CASE :
SELECT ' Number of Titles ' , Count ( * )
FROM titles
GROUP BY
CASE
WHEN price IS NULL THEN ' Unpriced '
WHEN price <</SPAN> 10 THEN ' Bargain '
WHEN price BETWEEN 10 and 20 THEN ' Average '
ELSE ' Gift to impress relatives '
END
GO
你甚至还可以组合这些选项,添加一个 ORDER BY 子句,如下所示:
USE pubs
GO
SELECT
CASE
WHEN price IS NULL THEN ' Unpriced '
WHEN price <</SPAN> 10 THEN ' Bargain '
WHEN price BETWEEN 10 and 20 THEN ' Average '
ELSE ' Gift to impress relatives '
END AS Range,
Title
FROM titles
GROUP BY
CASE
WHEN price IS NULL THEN ' Unpriced '
WHEN price <</SPAN> 10 THEN ' Bargain '
WHEN price BETWEEN 10 and 20 THEN ' Average '
ELSE ' Gift to impress relatives '
END ,
Title
ORDER BY
CASE
WHEN price IS NULL THEN ' Unpriced '
WHEN price <</SPAN> 10 THEN ' Bargain '
WHEN price BETWEEN 10 and 20 THEN ' Average '
ELSE ' Gift to impress relatives '
END ,
Title
GO
注意,为了在 GROUP BY 块中使用 CASE ,查询语句需要在 GROUP BY 块中重复 SELECT 块中的 CASE 块。
除了选择自定义字段之外,在很多情况下 CASE 都非常有用。再深入一步,你还可以得到你以前认为不可能得到的分组排序结果集。
转载于:https://www.cnblogs.com/vibratea/archive/2009/07/24/1529869.html
SQL CASE WHEN用法相关推荐
- SQL case when 用法
SQL case when 用法 主要是给变量赋值,将连续型变量离散化,主要用SQL中的CASE WHEN 实例: create table table_name_new as ----将时间离 ...
- 30. Spark SQL case when用法:
30. Spark SQL case when用法: https://sparkbyexamples.com/spark-case-when-otherwise-example/ how to wri ...
- Sql case when 用法实例详解
sql中case when还是比较常见的用法.经常会出现一段时间不用,相关写法与语法又记不太清楚的情况.干脆就记一下,以备不时之需. 1.准备数据 现在有一张表xxx,里面有一个字段叫basicinf ...
- 【SQL】SQL Case When用法
简介 case when sql中计算条件列表,并返回多个可能的结果表达式之一. CASE 表达式有两种格式:1.CASE 简单表达式,它通过将表达式与一组简单的表达式进行比较来确定结果.2.CASE ...
- sql case when用法详解
当我们需要从数据源上 直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用 Case When这个函数了. Case具有两种格式.简单Case函数和Case搜索函数. 第一种 格式 : 简单C ...
- 【Vegas原创】SQL case when 用法
select form_no,cource,hbddept,empno,hbdcnm,substring(empno,1,4) as eDate, case ctype when '1' then ...
- SQL CASE 的用法
对数据字段,根据结果进行别名 SQLServer SELECT [name],case when cj.chinese >80 then '优秀'when cj.chinese >=60 ...
- IsNull 和 SQL语句中CASE WHEN用法
[转]IsNull 和 SQL语句中CASE WHEN用法收藏 [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL 使用指定的替换值替换 NULL. ...
- SQL case when then 的用法
sql case when then else end case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when'1'then'男' when'2' ...
最新文章
- 注意 ExecuteNonQuery() 返回值
- python openpyxl读取excel_Python使用openpyxl读写excel文件
- iOS移除父控件中所有子控件的两种方式
- 面向对象编程的乐趣(TextBox.Text=)
- 网易NAPM Andorid SDK实现原理--转
- 糗事百科的网络爬虫(v0.2)源码及解析 .
- windows 7 PowerShell 笔记
- 【CyberSecurityLearning 64】SSRF
- linux - svn命令操作使用随笔svn import
- 漂亮表格的CSS定义
- JVM——三个ClassLoader详解
- centos tar安装mysql_centos系统通过tar.gz包安装mysql5.7.19
- 31 MM配置-采购-采购申请-采购申请审批策略-定义审批过程
- 全国计算机等级内容,全国计算机等级内容
- c语言字符串每个字母加4,C语言基础:各字符型数据
- Java中在时间戳计算的过程中遇到的数据溢出问题
- linux waitpid子进程,关于waitpid()函数的问题,为什么最后子进程没退出来啊?...
- 苹果Mac智能的Python集成开发环境:PyCharm Pro
- 费氏数列(c/python)
- 英语入门造句专用形容词表(116个)
热门文章
- java集合学生信息_java 使用 集合 制作学生管理系统
- python多功能文本编辑器_多功能文本编辑器(EditPad Pro)
- benchmark mysql_程序员的MySQL手册(二): 监控与benchmark
- php怎么删除所有文件夹,用php删除所有文件,文件夹及其子文件夹
- celery 停止任务_celery异步任务框架
- mysql与ms sql server_MS SQL Server和MySQL区别
- vue router html,vue-router.html
- 在哪个公众号学python好_怎么通过公众号来快速学习python编程?
- 如何使用Android studio创建签名
- 360无痕浏览器_高效使用浏览器,探索你不知道的实用功能