- 浏览: 1068407 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 1071探讨怎么在有着1000万条数据的ms sql server数据 ... -
sqlserver2000触发器学习
2014-10-27 07:09 8331、 Sql代码 createtri ... -
sqlserver2008 评估到期解决方案
2012-03-15 08:44 1699和Visual Studio 2008一样,从官网下载SQL ... -
sqlserver 2008创建表分区
2011-11-24 16:31 905见附件 -
sqlserver 登陆企业管理器需要输入密码
2011-11-14 07:59 1145附件中有详细说明 -
JAVA 连接SQLSERVER2008步骤
2011-08-31 08:54 6636使用JDBC连接SQL SERVER 2008,很多人都在 ... -
sqlserver2008导出数据(新增)
2011-05-09 08:13 1724这个功能是sqlserver2000没有的。可以将数据脚本导出 ... -
安装完数据库以后,测试连接,提示端口错误的问题
2011-05-08 21:24 1717java.sql.SQLException: [Microso ... -
安装sqlserver的时候提示挂起操作,必须重启计算机的问题
2011-05-08 21:22 1717安装时提示说:“以前的某个文件已在安装计算机上创建挂起的文件操 ... -
SQL Server 2000 Enterprise Edition 日志传送温备方案
2011-02-20 09:44 1784'SQL Server 2000 Enterprise Edi ... -
通过存储过程直接访问服务器URL
2011-02-17 11:11 1504CREATE procedure ... -
sqlserver 常用函数大全
2011-02-14 17:31 1112sqlserver 常用函数大全 -
sqlserver 存储过程,函数,视图实例
2011-02-14 16:49 1156sqlserver 存储过程,函数,视图实例 -
对于批量删除某张表数据的做法技巧
2010-12-09 15:33 1163通过有JSP页面穿到存储过程中一连串的ID值,并且以,隔开。我 ... -
sql server 查询某个数据库中所有的任务执行状态
2010-12-06 11:25 4031xp_sqlagent_enum_jobs 参数: xp_ ... -
数据库表的转移心得体会和经验分享
2010-10-22 15:00 945开始设计一张表的时候,由于该表数据量逐渐增多。达到百万或千万的 ... -
一个关于查询性能的问题,在查询时间的时候是否应该用convert
2010-10-22 14:53 1114今天在做数据库表转移的时候,A表转移到B表。要将A表的2010 ... -
编写的一个存储过程,来检测数据库死锁进程
2010-10-19 09:14 1235/*--------------------------- ... -
查找表中的重复数据
2010-08-27 09:32 993select * from person where ... -
查看死锁的SQL语句
2010-08-27 09:12 1610use master go declare @spid int ...
相关推荐
- **SQL语句语法**:包括SELECT、INSERT、UPDATE、DELETE等常用语句的使用方法。 - **数据类型**:介绍了SQL Server支持的各种数据类型,如数值类型、字符类型、日期时间类型等。 - **变量与常量**:讲解如何定义...
《Inside Microsoft SQL Server 2008 T-SQL Programming》这本书深入探讨了SQL Server 2008中的T-SQL编程技术,这是SQL Server数据库管理与开发的核心语言。T-SQL,即Transact-SQL,是SQL的一个扩展,主要用于微软的...
《Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询》是一部深入探讨SQL Server 2005数据库管理系统中Transact-SQL(T-SQL)查询技术的专业著作。本部分主要聚焦于如何高效、准确地在SQL Server 2005环境中...
在SQL Server中,有两种主要的方法可以实现这一转换: 1. 使用CASE语句: CASE语句是SQL中一个非常强大的逻辑表达式,它可以根据条件返回不同的值。在行转列中,我们可以用多个CASE语句来创建新的列,并根据原始...
根据提供的文件信息,我们可以深入探讨 SQL 服务器中的记录排序功能,特别是 `RANK()` 函数在 SQL Server 中的应用,以及如何在 Oracle 数据库中实现类似的功能。此外,我们还将涉及基于排序的操作,如更新(`UPDATE...
根据提供的文件信息,本文将对如何在SQL Server中实现汉字到拼音的转换这一技术进行详细的解析与探讨。此方法提供了一种直接可用的功能,能够帮助用户轻松地将数据库中的汉字字段转换为对应的拼音形式。 ### SQL ...
《Microsoft SQL Server 2005技术内幕:T-SQL查询》是一本专注于SQL Server 2005数据库管理系统中T-SQL(Transact-SQL)查询语言的专著。这本书是技术内幕系列的一部分,旨在为读者提供深入、全面的T-SQL查询知识,...
文章中提到了动态排序方法的具体实现,关键在于结合SQL SERVER中的存储过程以及CASE语句和ORDER BY子句。通过存储过程,可以根据传入的参数动态地构建带有ORDER BY子句的SELECT语句,从而达到动态排序的目的。例如,...
本篇文章将深入探讨如何使用聚合函数Pivot和Unpivot来实现这一目标,特别是针对SQL Server数据库。 首先,让我们了解什么是行转列。行转列就是将表格中的某列值变为新的列名,而原本的行数据则对应到这些新列中。举...
《Inside Microsoft SQL Server 2005: T-SQL Querying》是一本深入探讨SQL Server 2005中T-SQL查询技术的专业书籍。该书由Microsoft Press出版,旨在帮助开发者和数据库管理员掌握在SQL Server 2005环境下进行高效、...
在这份《SQL_SERVER命令大全.pdf》中,我们将会详细探讨SQL Server中各个基本和高级SQL命令的用法。 首先,数据操作语言(DML)是SQL Server中最基础的一组命令,用于管理数据库中的数据。DML包括以下几个主要命令...
在SQL Server中,将行转换为列是一种常见的数据操作,主要通过使用PIVOT操作或者CASE语句来实现。这种转换对于数据透视、数据分析以及报表制作等场景非常有用。下面我们将详细探讨这两种方法。 首先,PIVOT是SQL ...
《SQL SERVER 2005技术内幕:T-SQL查询》是数据库开发人员不可或缺的一本指南,它深入探讨了SQL Server 2005中的Transact-SQL(T-SQL)查询技术。这本书以其详尽的解释和实用的示例,帮助读者掌握T-SQL查询的精髓,...
在SQL Server中,实现行转列有多种方法,如PIVOT操作、动态SQL以及使用CASE语句。其中,CASE语句是一种灵活且通用的方法,适用于那些不支持PIVOT或需要动态生成列的场景。CASE语句允许我们在查询中根据条件创建新的...
《SQL Server 2005 技术内幕:T-SQL程序设计》是一本深入探讨SQL Server 2005数据库管理系统中T-SQL(Transact-SQL)编程的权威著作。T-SQL是SQL Server的主要查询语言,用于数据查询、更新、插入和删除,以及复杂的...
- **流程控制**: 讨论`IF...ELSE`, `WHILE`, `CASE`等结构的使用方法,以实现更复杂的逻辑处理。 - **错误处理**: 探讨如何捕获和处理执行过程中的异常情况。 **3. Working with NULLS** - **NULL值处理**: 阐述...
本文将通过一系列实验来探讨在SqlServer中,针对`Bit`字段建立索引的实际效果,并与使用`Tinyint`类型进行对比。 #### 研究方法 本研究主要采用以下步骤: 1. **创建六张表**:分为两组,一组使用`Bit`字段,另一...
在C#中,switch-case结构用于根据变量的值执行不同的代码块,而在SQL Server中,CASE函数类似,但更注重返回值而不是执行代码块。 4. CASE与C#的if-else if语法比较: 在C#中,if-else if语句用于条件判断,而在...
本文将深入探讨如何在SQL Server环境中实现这一功能,并解释所提供代码片段的具体含义与工作原理。 ### 一、理解代码逻辑 首先,我们创建了一个名为`test`的表,其中包含一个主键字段`iid`,类型为`varchar(32)`。...
本案例"Case12_1"将深入探讨C#与SQL Server的连接过程,以及如何进行数据交互,为初学者提供一个清晰的学习路径。 首先,要建立C#与SQL Server的连接,我们需要使用ADO.NET(ActiveX Data Objects .NET)框架。ADO...