Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数
Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数
一、概述
1、本文系统的整理了,Oracle中常见的几个函数用法,都是涉及到条件判断分支类的相关函数,分别是 CASE ..WHEN ; DECODE , SIGN 。
2、假设有一张表Student ,有4个字段, ID,NAME,GENDER,AGE ,分别是 编号,姓名,性别,年龄。数据内容如下:
二、CASE WHEN 函数
1、简单版, 语法规则如下:
CASE col WHEN val1 THEN res1WHEN val2 THEN res[ELSE def] -- 可选
END ;
1.2、简单版 示例:
SELECT
CASE s.GENDER WHEN '1' THEN '男'WHEN '0' THEN '女'ELSE 'LGBT'
END AS "性别" ,
s.* FROM STUDENT s ;
2、完整版(case 搜索函数), 语法规则如下:
CASE WHEN col=val1 THEN res1WHEN col=val2 THEN res[ELSE def] -- 可选
END ;
2.2、完整版 示例:
SELECT
CASE WHEN s.GENDER ='1' THEN '男'WHEN s.GENDER='0' AND s.ID = '3' THEN '女' ELSE 'LGBT'
END AS GENDER ,
s.* FROM STUDENT s ;
三、DECODE 函数
1、关于DECODE 函数的介绍,请自行查找资料,语法规则如下:
DECODE(val, if1,then1 ,if2 ,then2 ... [default]) ;
-- 注意:default 可选的
2、DECODE 示例:
SELECT DECODE(s.GENDER,'1','男','0','女') ,DECODE(s.GENDER,'1','男','0','女','LGBT') , -- 使用default 值DECODE(s.GENDER,'1',DECODE(s.ID,'1','大帅比'),'0','女') , -- 使用decode 嵌套
s.* FROM STUDENT s ;
四、SIGN 函数
1、Oracle 中SIGN函数的作用是:对于数字的判断,根据判断会得到三种结果,如下:
> 0 ; 返回 1
= 0 ; 返回 0
< 0 ; 返回 -1
2、SIGN 函数示例:
SELECT SIGN(100) ,SIGN(0) ,SIGN(-123)
FROM DUAL ;
3、SIGN 函数和DECODE 函数组合使用:
SELECT DECODE(sign(11),1,'正数'),DECODE(SIGN(0),'0','零') ,DECODE(SIGN(-333),'-1','负数')
FROM DUAL ;
4、sign 报错:ORA-01722: 无效数字:
SELECT SIGN('tt') FROM dual ;
五、COUNT 函数分条件统计
1、在【一、概述】中,Student 表有三条数据,现在需求是,统计出总人数,分别统计男、女人数(男1,女0),用一条SQL写出来,该怎么做呢? 假设目标表头如下:
2、可以使用 COUNT + DECODE 组合进行数量统计,SQL结果如下:
SELECT COUNT(s.ID) AS "总人数",COUNT(DECODE(s.GENDER, '1', s.ID)) "男" ,COUNT(DECODE(s.GENDER, '0', s.ID)) AS "女"
FROM STUDENT s ;
六、总结
1、本文简单的记录了Oracle中几个条件判断函数的用法,详细的用法资料,可以自行逐个查找。 其中 部分函数在 Oracle和MySQL中是通用的。 如: SIGN , CASE WHEN , COUNT , 其中 decode 函数,在MySQL中不适用(版本是5.7.32)
2、本文中示例代码,所在Oracle版本是: CORE 11.2.0.1.0 Production ,可以使用: select * from v$version; 命令查看。
Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数相关推荐
- mysql多条件count_Mysql中使用count加条件统计
Mysql中使用count加条件统计 0 753 坚持奋斗 2019/6/28 13:19:56 江苏 南京 新建一个Mysql数据表a,包含id和num两个字段 [pre] mysql> ...
- 使用函数统计指定数字的个数_四种函数方法实现按条件统计一个区间数字的个数...
有学员问,如何实现按条件计数求和,包括单条件和多条件.下面举个小例,介绍四种excel函数公式的实现方法. 问题如图,要统计A2:A20区间1-3(>1,<3)的数字个数. 按照我的函数课 ...
- count 有条件 mysql_【笔记】Mysql中使用count加条件统计
前言mysql 最近发如今处理Mysql问题时,count()函数频繁上镜,经常出如今分组统计的情景下,可是有时候并非使用group by分好组就能够直接统计了,好比说一个常见的需求,统计每一个班级男 ...
- Mysql中使用count加条件统计
文章目录 前言 测试环境 准备工作 条件统计 总结 前言 最近发现在处理Mysql问题时,count()函数频繁上镜,常常出现在分组统计的情景下,但是有时候并不是使用group by分好组就可以直接统 ...
- excel if函数 android,Excel函数公式:多条件判断你还在用If函数来实现,那就真的Out了...
IF函数虽然简单好用,但是如果条件多了,写起来非常的麻烦,而且容易出错,后期也不好维护.如果嵌套次数超过3次,建议选用其他函数替代,例如IFS函数,或Choose函数. 一.需求分析及实现方法. 目的 ...
- SQL语句中:简单Case函数和Case搜索函数
Case具有两种格式. 简单Case函数和Case搜索函数. --简单Case函数 CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女' ELSE '其他' END - ...
- 简单Case函数和Case搜索函数的区别
简单Case函数和Case搜索函数的区别 Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' TH ...
- 简单Case函数和Case搜索函数。
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- SQL语句中 Case具有两种格式:简单Case函数和Case搜索函数
转自:http://blog.csdn.net/IBM_hoojo/article/details/5546868 Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 ...
最新文章
- uva-10954-贪心
- quick cocos2d-x 使用CCTableView 例子
- keil 5 出现 error: #67: expected a } 错误解决
- python替换excel指定字符串_【python】替换指定内容,excel数据预处理
- FlaUI, 面向. NET的UI自动化库
- 你不知道的CDN圈内黑话有哪些?
- 12.当效率至关重要时,请在map::operator[]与map::insert之间谨慎作出选择
- 前端学习(3042):vue+element今日头条管理-用户退出
- android将项目添加到github,将github库作为依赖添加到Android-Studio项目中
- [翻译]NUnit---Explicit and Ignore Attributes(十二)
- pandas 提取某几列_用Pandas做数据清洗,我一般都这么干……
- python社区版如何下载库_pycharm社区版在哪里下载
- ios yytext的使html,iOS 利用YYText 实现 展开全文 功能
- win7快捷关闭计算机,win7关机快捷键和重启快捷键是什么?
- Google seo图片优化技巧
- 如何获取win10安装驱动
- 百位女星镂空装秀性感 展现的是赘肉还是性感
- 游戏音效制作的过程中,需要研发公司怎么配合?
- 实现一个avs2码流分析工具
- 威固新能源GO野 伊士曼旗下品牌威固加速布局新能源车后市场