`
ronon
  • 浏览: 193761 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

SQLServer2008 关于CASE WHEN

阅读更多

CASE WHEN的两种格式

1.简单Case函数

CASE sex

         WHEN '1' THEN '男'

         WHEN '2' THEN '女'

ELSE '其他' END

2.Case搜索函数

CASE WHEN sex = '1' THEN '男'

         WHEN sex = '2' THEN '女'

ELSE '其他' END

1).两者相比,Case搜索函数功能更强。

2).Case函数类似于if……else if 语句,只返回第一个符合条件的值,之后的部分会被忽略

 

例子:(按照指定规则分组,并计算每组人数)

create table #temp
(
    country varchar(100),
    people int

)

insert into #temp
select 'A',400 union all
select 'B',2890 union all
select 'C',3490 union all
select 'D',5678 union all
select 'E',457 union all
select 'F',2345


select
CASE WHEN country='A' or country='B' THEN '1组' 
          WHEN country='C' or country='D' THEN '2组'
          WHEN country='E' or country='F'  THEN '3组'
          END 组别,SUM(people) 人数合计
from #temp
group by
CASE WHEN country='A' or country='B' THEN '1组' 
          WHEN country='C' or country='D' THEN '2组'
          WHEN country='E' or country='F'  THEN '3组'
          END

 

ps.

Order by 后也可使用Case when 用于筛选需要的排序数据

Example:

order by case when ISNULL(A.ReqDate,'')!='' then A.ReqDate else A.PlanReqDate end desc

 

分享到:
评论

相关推荐

    case when和sum case when 写法及拼接字段

    在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件判断。 #### 基本语法 ...

    SQL Server中Case 的不同用法

    在SQL Server中,CASE表达式是一种强大的工具,用于在查询中进行条件判断和逻辑操作。它的功能远不止创建新字段那么简单,而是可以在多个方面增强你的SQL查询能力。以下是对CASE关键字在SQL Server中不同用法的详细...

    CDC操作Sqlserver2008

    ### CDC操作Sqlserver2008 #### 概述 变更数据捕获(Change Data Capture,简称CDC)是SQL Server的一项重要功能,主要用于记录数据库表中的数据更改历史。这一功能在进行数据分析、日志记录、数据复制等场景下...

    SqlServer使用 case when 解决多条件模糊查询问题

    在SQL Server中,`CASE WHEN` 语句是一种强大的逻辑表达式,用于处理基于不同条件的复杂查询。在多条件模糊查询中,`CASE WHEN` 可以避免在程序端或数据库端拼接SQL字符串,从而减少代码量,提高安全性,并避免SQL...

    怎样用SQL Server 2008 SQL语句将Excel数据...

    ### 如何使用SQL Server 2008将Excel数据导入数据库 #### 一、通过SQL语句导入数据 在SQL Server 2008中,可以通过编写SQL语句来实现Excel数据的导入。这种方式适用于对SQL较为熟悉的技术人员。下面详细介绍几种...

    case when then

    一条sql语句就能让你case when then怎么用,什么时候用

    论SQL Server数据库中Case函数的作用.pdf

    SQL Server数据库中Case函数是Transact-SQL语言的关键组成部分,它主要用于进行条件逻辑处理。Case函数允许在数据库查询中根据条件动态地改变返回值,类似于编程语言中的if-else结构。在SQL Server中,Case函数分为...

    PostgreSQL_与_MS_SQLServer比较

    MS SQL Server 支持简单 CASE 和搜索 CASE 函数,而 PostgreSQL 的 CASE 结构更为灵活,例如: - **MS SQL Server**: ```sql CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ``` - **...

    导出SQL server2005表字段信息说明

    ### 导出SQL Server 2005表字段信息说明 在进行数据库管理与维护时,经常需要了解数据库中各个表的字段详细信息,包括字段名称、数据类型、是否为主键、长度、精度等属性。本文将通过一个SQL查询语句来详细解析如何...

    oracle到sqlserver存储过程语法转换

    ### Oracle到SQL Server存储过程语法转换详解 在数据库迁移项目中,从Oracle迁移到SQL Server是一种常见的场景。本文旨在提供一份详细的指南,帮助开发者更好地理解这两种数据库系统在存储过程方面的语法差异,并...

    SQL Server存储过程基本语法

    ### SQL Server 存储过程基本语法知识点解析 #### 一、定义变量 在 SQL Server 中,我们可以使用 `DECLARE` 语句来定义变量,并通过 `SET` 或 `SELECT` 来给变量赋值。 ##### 1. 简单赋值 ```sql DECLARE @a int; ...

    sql server动态行转列.sql

    sqlserver 动态行专列 避免了数据列过多的时候大量的使用case when then...... 原数据 : UserName Subject Score Nick 语文 80 Nick 数学 90 Nick 英语 70 Nick 生物 85 Kent 语文 80 Kent 数学 90 Kent ...

    SQL Server 的一些面试题

    SQL Server 是一种流行的数据库管理系统,广泛应用于数据存储和管理。面试中可能会遇到各种与SQL Server相关的题目,这些题目旨在测试你的数据库理论知识、SQL编写能力以及对SQL Server特性的理解。下面将详细解答...

    sql server 中行转列

    在 SQL Server 中实现行转列的方法多种多样,包括使用静态 SQL 结合 `CASE` 和 `SUM` 函数的方式,以及使用动态 SQL 构建复杂查询的方式。这两种方法各有优势: - **静态 SQL**:适合于列名固定的情况,编写简单...

    三个SQL视图查出所有SQL Server数据库字典

    根据给定文件的信息,我们可以提炼出关于SQL Server数据库字典查询的重要知识点。下面将详细介绍如何通过三个SQL视图来查询SQL Server中的所有数据库字典。 ### SQL Server数据库字典简介 在SQL Server中,数据库...

    SQLServer获取2019年节假日列表

    标题“SQLServer获取2019年节假日列表”表明我们需要关注的是如何在SQL Server中查询并提取特定年份,比如2019年的公共假期信息。这通常涉及到设计日期表、编写查询脚本以及可能使用内置或自定义函数来实现。 首先...

Global site tag (gtag.js) - Google Analytics