CASE 语句可以在SELECT 子句和ORDER BY 子句中使用

CASE语句分为两种Case Simple Expression and Case Search Expression

Case Simple Expression:

CASE Column1
WHEN V1 THEN R1
WHEN V2 THEN R2
ELSE R3
END

Case Search Expression

CASE
WHEN C1=V1 THEN R1
WHEN C2=V2 THEN R2
ELSE R3
END

当在Orderby 中使用Case语句时,如果排序是按照ASC的话,会将不满足条件的结果集无序地放在总结果集的前面,然后将满足条件的结果集排序后附件到总结果集中,如果使用DESC的话,则将满足条件的结果集放在总结果集的前面,然后将为满足条件的结果集无序地附加到总结果集后面:

 
分类: SQL Server
 
好文要顶 关注我 收藏该文  
1
0
 
(请您对文章做出评价)
 
posted @ 2012-10-12 20:13 笑东风 阅读(1277) 评论(1) 编辑 收藏
 
评论
 

#1楼 2015-03-04 17:17 | jimcsharp 

"CASE 语句可以在SELECT 子句和ORDER BY 子句中使用"
也可以在 where 条件中使用, 如:
DECLARE @FlagINT=1;
select * from T5
WHERE ID1=(CASE WHEN @Flag=1 THEN '1' ELSE '2' END) ;

SQL使用CASE 语句的更多相关文章

  1. 今天的一个SQL题-case语句和decode函数

    数据库表: select * from rec order by rst,game_time; ID GAME_TIME      RST ------ -------------- ---- 2 0 ...

  2. SQL Server CASE语句中关于Null的处理

    问: 从数据表中选择一个字段“field”,如果“field”值是1或NULL就赋值为1,其它情况为0,该怎么写啊?这样写对不对啊?(CASE fieldWHEN '1' THEN '1'WHEN N ...

  3. SQL中case语句的两种方式

  4. SQL中的IF ELSE(CASE语句的使用)(转载)

    大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...

  5. PL/SQL与SQL(Oracle)Case语句

    (使用scott账户下的表) 1.Oracle SQL语句的case语句写法: --sql中的case用于分支判断并返回某个值. select empno , ename, deptno , case ...

  6. SQL中的IF ELSE(CASE语句的使用)

    大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...

  7. SQL CASE语句的使用

    SQL CASE语句的使用 CASE是一个控制流语句,其作用与IF-THEN-ELSE语句非常相似,可根据数据选择值. CASE语句遍历条件并在满足第一个条件时返回值. 因此,一旦条件成立,它将短路, ...

  8. PL/SQL语句块提高1+case语句

    set serveroutput on; declare --默认值的bianliang v_a ; -- v_b integer; --用stud.id 的类型 v_id stud.id%type; ...

  9. sql union 语句 case语句

    1:Union语句: 把两个结果合为一体(但是完全重复的数据会去掉) Eg1: select name, age, ‘学生无工资’ from student        union         ...

随机推荐

  1. Shiro起步

    1.测试环境  IntelliJ Idea 2.pom配置 <?xml version="1.0" encoding="UTF-8"?> <p ...

  2. 生信-cufflinks输入输出文件分析

    转自:https://wenku.baidu.com/view/8d6a95d20d22590102020740be1e650e52eacf2a.html 输出包含3个文件:转录组的组装.gtf    ...

  3. IntBuffer类的基本用法

    package com.ietree.basicskill.socket.basic.nio; import java.nio.IntBuffer; /** * Created by Administ ...

  4. 在MFC下面实际演示CCriticalSection 的使用

    Q:CCriticalSection是什么? A:CCriticalSection是一种线程同步策略 或者说技术 或者方法  总之呢就是这么个意思.... 参考资料: http://blog.csdn ...

  5. Springboot 日志管理配置logback-spring.xml

    几种常见的日志 Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用: Log4j2:apach旗下的关于log4j的升级版: Logback:是基于slf4j接 ...

  6. leveldb0

    leveldb的源代码进行学习,则纯粹是出于一个码农对美好世界进行探究的好奇.接下来将尽可能从源代码上给出leveldb代码的详尽注释,这里先列出自己在阅读前后的主要参考. 0 官方文档http:// ...

  7. NC开发笔记指导

    修改端口 InvocationInfoProxy.getInstance().get().getUserCode(); 前台 Nchome F:\JAVA\Projects\ERPEHROA\ufid ...

  8. 使用selenium前学习HTML(3)— 属性

    <!-- HTML标签可以拥有属性,属性提供元素的更多的信息: 属性总是以名称/值对的形式出现,比如:name="value". 属性总是在 HTML 元素的开始标签中规定. ...

  9. weblogic控制台部署web项目图解

    图解网址:http://jingyan.baidu.com/article/c74d6000650d470f6b595d72.html

  10. try cath

    用try cath 的缺点? 举例: 一个程序 有3层.基类层,中间层,和  使用层. 在 基类层 使用 try cath 如果发生 异常,将会 一层一层 冒泡到 使用层 并弹出报错信息:效率 大大降 ...