case when语法:
case
when<A> then<somethingA>
when<B> then<somethingB>
else<somethingE>
end
case when else语法要点说明如下:
1、以CASE开头,以END结尾
2、分支中WHEN 后跟条件,THEN为显示结果
3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加
4、END 后跟别名
例1:
select u.user_code, u.sex,
( case u.sex
when 0 then '男'
when 1 then '女'
else '未知'
end
)性别
from tb_secure_user u
例2:将sum与case结合使用,可以实现分段统计,如将表中各种性别的人数进行统计:
select
sum( case u.sex when 0 then 1 else 0 end) 男性,
sum( case u.sex when 1 then 1 else 0 end ) 女性,
sum( case when u.sex<>0 and u.sex<>1 then 1 else 0 end ) 性别未知
from tb_secure_user u
查询结果:
男性 女性 性别未知
20 17 0
例3:sum、case when结合group by使用,可以进行分组分段统计。
如统计users表中每个创建者创建的男性、女性的用户总数
select u.create_user_id 创建者ID,
sum( case u.sex when 0 then 1 else 0 end) 男性,
sum( case u.sex when 1 then 1 else 0 end ) 女性,
sum( case when u.sex<>0 and u.sex<>1 then 1 else 0 end ) 性别未知
from tb_secure_user u
group by u.create_user_id
查询结果:
创建者ID 男性 女性 性别未知
10000000 14 8 0
00000405 4 8 0
20000000 1 0 0
00000445 1 1 0
分享到:
相关推荐
在Oracle数据库中,`WHERE`子句是SQL查询语句的一部分,用于指定查询条件,而`CASE WHEN`语句则是一种条件表达式,允许我们基于不同的条件返回不同的值。将`CASE WHEN`嵌套在`WHERE`子句中,可以实现更复杂的逻辑...
1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex ... CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 代码如下:SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位
在 Oracle 数据库中,CASE WHEN 语句可以分为两种格式:简单 Case 函数和 Case 搜索函数。简单 Case 函数的语法是: ```sql CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' END ``` Case 搜索函数的语法是: ```...
在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...
在 Oracle 数据库中,CASE 语句是一种非常实用且灵活的条件判断表达式,它可以用于根据不同的条件返回不同的值。CASE 语句可以分为两种类型:简单 CASE 语句和搜索 CASE 语句。 - **简单 CASE 语句**(Simple CASE ...
mysql 中case when 遇到乱码解决。查询语句中含有case引起中文乱码解决方法
本文将深入探讨Oracle中的复杂SQL语句,包括查询优化、索引、函数的使用以及如何进行行列转换和去重操作。 首先,了解SQL语句的执行顺序至关重要。在一般的查询中,如`SELECT`、`FROM`、`WHERE`,执行顺序为:先...
在本篇文章中,我们将详细介绍 Oracle PL/SQL 结构控制语句的使用方法和示例。 一、分支结构 分支结构是最基本的程序结构,用于根据条件改变程序的逻辑流程。PL/SQL 中的分支结构是通过 IF 语句实现的。IF 语句的...
总的来说,Oracle的CASE WHEN语句为我们提供了一种强大的工具,可以在数据库查询阶段完成复杂的逻辑判断,避免了在后端程序中进行大量的数据处理,提高了系统的效率。通过熟练运用CASE WHEN,我们可以更好地应对多值...
- Oracle中定义游标使用`CURSOR`关键字,打开、关闭和循环使用`OPEN`, `FETCH`, `CLOSE`,如: ```sql DECLARE CurA CURSOR FOR SELECT a FROM tab; OPEN CurA; FETCH CurA INTO variable; ``` - SQL Server...
* 解释:使用CASE WHEN语句来实现条件判断输出。 知识点2:SQL基础 * 使用SQL语句完成今天星期几、今天该月第几天、今天该年第几天的查询。 * 解释:使用TO_CHAR函数和SYSDATE函数来获取当前日期的星期几、月份、...
根据提供的文件信息,本文将对SQL Server、Oracle与DB2三种主流关系型数据库管理系统中的SQL语句进行详细的对比分析。这不仅有助于理解不同数据库系统之间的差异,也为开发人员提供了跨平台迁移时所需的必要知识。 ...
1. 使用SQL语句完成输出指定字符串问题:该问题考察了CASE WHEN语句的使用,通过使用CASE WHEN语句可以根据不同的输入值输出不同的字符串结果。 知识点:CASE WHEN语句、字符串输出 2. 使用SQL语句完成日期操作...
Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...
在数据库管理和SQL编程中,`DECODE`函数和`CASE WHEN`语句是两种非常重要的逻辑判断工具,它们常用于处理条件分支和数据转换。在这篇文章中,我们将深入探讨这两种方法的用途、区别以及如何巧妙地运用它们。 首先,...
##### 2.1 方法一:使用CASE WHEN语句 这种方法适用于字段数量较少的情况,通过`CASE WHEN`语句可以根据特定条件将行转换为列。 **示例代码**: ```sql SELECT id, 编号, CASE WHEN bbb = '执行总和' THEN aaa ...
MySql 中的 CASE WHEN 语句可以替换 DECODE 函数。MySql 中的 TEXT 等同于 Oracle 中的 LONG 函数。 13. 日期函数 MySql 中的 EXTRACT 函数可以提取日期的年、月、日等信息,而 Oracle 需要使用 TO_CHAR 函数来...
- `DECODE(AA, V1, R1, V2, R2, …., [DEFAULT])`:类似于`CASE WHEN`语句,根据`AA`的值返回不同的结果 - `LPAD(char1, n, char2)`:在字符串左侧填充字符以达到指定长度 #### 2. 复杂查询 - **嵌套查询**: ``...
在Oracle SQL中,有几个关键概念和技术值得深入理解,包括CASE WHEN语句、查看执行计划、文本操作、锁定和解锁表以及游标。以下是对这些知识点的详细解释: 1. **CASE WHEN语句**: CASE WHEN是SQL中的一个条件...