- 浏览: 1041258 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。
CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。
首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下:
SELECT <myColumnSpec> = CASE WHEN <A> THEN <somethingA> WHEN <B> THEN <somethingB> ELSE <somethingE> END |
在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子:
USE pubs GO SELECT Title, 'Price Range' = CASE WHEN price IS NULL THEN 'Unpriced' WHEN price < 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 < 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 < 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 < 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 < 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 都非常有用。再深入一步,你还可以得到你以前认为不可能得到的分组排序结果集。
发表评论
-
sqlserve2000 关于100万数据查询优化
2014-11-23 21:09 1007探讨怎么在有着1000万条数据的ms sql server数据 ... -
sqlserver2000触发器学习
2014-10-27 07:09 8031、 Sql代码 createtri ... -
sqlserver2008 评估到期解决方案
2012-03-15 08:44 1640和Visual Studio 2008一样,从官网下载SQL ... -
sqlserver 2008创建表分区
2011-11-24 16:31 869见附件 -
sqlserver 登陆企业管理器需要输入密码
2011-11-14 07:59 1106附件中有详细说明 -
JAVA 连接SQLSERVER2008步骤
2011-08-31 08:54 6595使用JDBC连接SQL SERVER 2008,很多人都在 ... -
sqlserver2008导出数据(新增)
2011-05-09 08:13 1687这个功能是sqlserver2000没有的。可以将数据脚本导出 ... -
安装完数据库以后,测试连接,提示端口错误的问题
2011-05-08 21:24 1658java.sql.SQLException: [Microso ... -
安装sqlserver的时候提示挂起操作,必须重启计算机的问题
2011-05-08 21:22 1675安装时提示说:“以前的某个文件已在安装计算机上创建挂起的文件操 ... -
SQL Server 2000 Enterprise Edition 日志传送温备方案
2011-02-20 09:44 1742'SQL Server 2000 Enterprise Edi ... -
通过存储过程直接访问服务器URL
2011-02-17 11:11 1465CREATE procedure ... -
sqlserver 常用函数大全
2011-02-14 17:31 1017sqlserver 常用函数大全 -
sqlserver 存储过程,函数,视图实例
2011-02-14 16:49 1114sqlserver 存储过程,函数,视图实例 -
对于批量删除某张表数据的做法技巧
2010-12-09 15:33 1133通过有JSP页面穿到存储过程中一连串的ID值,并且以,隔开。我 ... -
sql server 查询某个数据库中所有的任务执行状态
2010-12-06 11:25 3991xp_sqlagent_enum_jobs 参数: xp_ ... -
数据库表的转移心得体会和经验分享
2010-10-22 15:00 907开始设计一张表的时候,由于该表数据量逐渐增多。达到百万或千万的 ... -
一个关于查询性能的问题,在查询时间的时候是否应该用convert
2010-10-22 14:53 1075今天在做数据库表转移的时候,A表转移到B表。要将A表的2010 ... -
编写的一个存储过程,来检测数据库死锁进程
2010-10-19 09:14 1188/*--------------------------- ... -
查找表中的重复数据
2010-08-27 09:32 956select * from person where ... -
查看死锁的SQL语句
2010-08-27 09:12 1567use master go declare @spid int ...
相关推荐
CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。本文将为大家介绍SQL Server中Case 的不同用法。
case语句 sql server case语句
深入探讨SQLServer2008 相当深入哟
SQL中Case语句用法讨论_BJSQL中Case语句用法讨论_BJSQL中Case语句用法讨论_BJSQL中Case语句用法讨论_BJSQL中Case语句用法讨论_BJSQL中Case语句用法讨论_BJSQL中Case语句用法讨论_BJSQL中Case语句用法讨论_BJSQL中...
在下班闲暇时间整理了微软公司的SQL Server 2017及2019各个版本之间的区别和SQL Server 数据库在不同时期发布的不同版本的区别,以便于使用SQL Server数据库的朋友们可以做个参考和对比,PDF内容均来自日常工作中...
详细介绍sql语句中case的用法,让大家更好地运用和学习。
sql server 中 BCP使用方法详解,快速从SQL SERVER中导入导出数据的命令
数据完整性是任何数据库系统要保证的重点。不管系统计划得有多好,空数据值的问题总是存在。本文探讨了在SQL Server中处理这些值时涉及的3个问题:计数、使用空表值以及外键处理。
主要介绍了SQLServer存储过程中事务的使用方法,简短的代码带大家更好的学习使用SQLServer存储过程中事务,感兴趣的小伙伴们可以参考一下
SQL Server使用方法SQL Server使用方法SQL Server使用方法
SQL Server 2014基础入门视频教程 (40集,含课件) 1.SQL Server 2014简介.mp4 2.SQL Server 2014硬件和软件要求.mp4 3.SQL Server 2014数据库安装.mp4 4.SQL Server 2014... 40.SQL Server 2014 CASE函数.mp4
SQL Server中CASE语句的教学研究.pdf
将mysql数据库转换为sql server的数据库,或者将sql server数据库转换...这里介绍一个使用sql的mmc的方法 ,将sql server的数据转化为mysql的数据库,将源和目的反之,就可以将mysql的数据库转化为sql server的数据库。
下面就介绍LABVIEW与SQLSERVER的连接方法。连接思路:先在SQLSERVER建立自己的数据库,如MyDB。然后在操作系统建立一数据源(ODBC),此数据源的驱动选择SQLSERVER,数据源与SQLSERVER中的MyDB关联。最后在LABVIEW中...
SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录。本文将介绍利用使用表变量和游标实现数据库中表的遍历。 表变量来实现表的遍历 以下代码中,代码块之间的...
40.SQL Server 2014 CASE函数.mp4 5.SQL Server 2014数据库修改与删除.mp4 6.SQL Server 2014数据库备份与还原.mp4 7.SQL Server 2014数据类型.mp4 8.SQL Server 2014新建表.mp4 9.SQL Server 2014修改、删除...
让软件企业在发布基于SQLServer2000数据库软件的时候,只要把软件打包进入安装包而不需要再单独安装数据库,也不需要另外进行数据库的设置,就如同使用ACCESS数据库一样简单,但却是SQLServer2000这样大中型数据库的...
中文安装包,光盘镜像文件,用压缩软件直接打开安装即可
适用 SQL Server Native Client 的这个可转散发安装程序会安装运行时间期间需要的客户端组件,以利用 SQL Server 2008 新功能,并选择性地安装开发使用 SQL Server Native Client API 之应用程序时所需要的头文件。
C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 详细介绍请参考: ...