sql语言中有没有相似C语言中的switch case的语句??

没有,用case   when   来取代就行了.   
       
  比如,以下的语句显示中文年月   
    
  select   getdate()   as   日期,case   month(getdate())   
  when   11   then   '十一'   
  when   12   then   '十二'   
  else   substring('一二三四五六七八九十',   month(getdate()),1)   
  end+'月'   as   月份

=================================================

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 都很实用。再深入一步,你还能够得到你曾经认为不可能得到的分组排序结果集。

sql 语言中 when case 用法相关推荐

  1. sql 语言中 when case 用法

    sql语言中有没有相似C语言中的switch case的语句?? 没有,用case when 来取代就行了. 比如,以下的语句显示中文年月 select getdate() as 日期,case mo ...

  2. c语言中point的用法_关于C语言Switch语句,先学这些技巧够不够?

    一.C语言中switch的用法 1.switch后面括弧内的[表达式],ANSI标准允许它为任何类型: 2.当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就 ...

  3. c语言中switch的用法是什么?

    c语言中switch的用法是: 功能:switch语句是多分支选择语句.用来实现多分支选择结构.if语句只有两个分支可供选择,而实际问题中常常要用到多分支的选择.例如,学生成绩分类(90为" ...

  4. table是什么函数c语言,c语言中table的用法

    c语言中table的用法 c语言中table的用法的用法如下:1 说明1.1 RECORD定义记录数据类型. 它类似于C语言中的结构数据类型(STRUCTURE),PL/SQL提供了将几个相关的.分离 ...

  5. c语言中switch扑克牌花色,c语言中switch的用法

    c语言中switch的用法 c语言中switch的用法的用法如下:C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:switch(表达式){case 常量表达式1: 语句1;cas ...

  6. C语言中typeof作用,浅析C语言中typeof关键字用法

    浅析C语言中typeof关键字用法 前言 C语言中 typeof 关键字是用来定义变量数据类型的.在linux内核源代码中广泛使用. 下面是Linux内核源代码中一个关于typeof实例: #defi ...

  7. c语言中getche的用法,c语言中getch的用法

    [www.hywsbj.com--图表展板] getch()函数是无回显的从控制台取得一个字符.以利用getch()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,即任意键继续效果.下面小编 ...

  8. php indexof的用法,c语言中indexof的用法有哪些

    c语言中indexof的用法有哪些 index在互联网上表示网站的默认主页.一般为 index.html index.htmindex.aspindex.php:另外的默认主页也多用default.h ...

  9. c语言中size of 用法,C语言中sizeof()的用法

    要参加软件研发的笔试(C/C++)几乎都会涉及到sizeof()的用法,我昨天也遇到了,有的也会,但是真正sizeof()的核心还是没有领会,今天上网,无聊中就看到了详细的sizeof()的阐述,现在 ...

最新文章

  1. python2 与 python3 语法区别
  2. Codeforces 1326F Wise Men (容斥原理、状压 DP、子集和变换、划分数)
  3. vue2.0 子组件和父组件之间的传值
  4. mysql 事件里定义事物_聊一聊 MySQL 中的事务及其实现原理
  5. [BZOJ 4916]神犇和蒟蒻
  6. java socket编写服务器_Java网络学习笔记1:用(Server)Socket编写简单的客户/服务器程序...
  7. PDFMate PDF Converter Pro
  8. 5000并发的qps是多少_高并发架构设计
  9. 注解、垃圾回收和线程
  10. ARToolKit从图片生成特征点数据
  11. 简单地使用jquery的validate
  12. GD32F105V开发过程中的管脚配置问题记录
  13. LoadRunner教程(8)-LoadRunner 负载生成器
  14. 如何通过广西税务12366缴纳城乡居民医保费用及下载缴费凭证?
  15. 简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW个人网站制作成品 web网页制作与实现
  16. 粉象生活日记1:系统化打磨
  17. sequence和sequencer — UVM
  18. 24. 两两交换链表中的节点-两两反转链表-LeetCode
  19. 不要告诉我你不知道这32个网站!
  20. maven打包时打包指定的lib文件夹

热门文章

  1. 如何在使用Retry之后,Jenkins能够准确发送邮件的脚本
  2. HDOJ2072解题报告【字典树】
  3. 【聊一聊】css中的经典布局——圣杯布局
  4. Sublime Text3 高亮显示Jade语法 (Windows 环境)
  5. C/C++新建注册表项实例
  6. 使用XmlTextWriter生成XML文件的方法
  7. ios基础之 ARC
  8. linux 运行cmd文件,cmd文件如何在虚拟linux下运行
  9. matlab根据url链接下载*.tar文件并解压
  10. 仿淘宝商品详情页图片滑动并且数字也跟着变化