oracle中decode函数
类别:数据库 浏览量:709
时间:2016-9-1 oracle中decode函数
oracle中decode函数一、语法
1、decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
2、DECODE(字段或字段的运算,值1,值2,值3)
该函数的含义如下:
(1)、当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
(2)、当然值1,值2,值3也可以是表达式
二、实例
1、创建一个学生成绩表。字段有: 学生名, 科目名和分数
create table student_score(
name varchar2(30),
subject varchar2(20),
score number(4,1)
);
2、插入测试数据
insert into student_score (name,subject,score)values('zhang san','Chinese',90);
insert into student_score (name,subject,score)values('zhang san','Mathematics',80);
insert into student_score (name,subject,score)values('zhang san','English',79);
3、实例、如果是中文课程的话, 显示分数, 其他课程分数为零。
select name,subject,decode(subject, 'Chinese',score,0) from student_score;
结果:
4、再次插入如下数据
insert into student_score (name,subject,score)values('li shi','Chinese',96);
insert into student_score (name,subject,score)values('li shi','Mathematics',86);
insert into student_score (name,subject,score)values('li shi','English',76);
insert into student_score (name,subject,score)values('wang wu','Chinese',92);
insert into student_score (name,subject,score)values('wang wu','Mathematics',82);
insert into student_score (name,subject,score)values('wang wu','English',72);
5、查询每个学生的各科成绩
select name,
sum(decode(subject, 'Chinese', nvl(score, 0), 0)) "Chinese",
sum(decode(subject, 'Mathematics', nvl(score, 0), 0)) "Mathematics",
sum(decode(subject, 'English', nvl(score, 0), 0)) "English"
from student_score
group by name;
结果如图
标签:oracle
您可能感兴趣
- oracle for update nowait和for update区别
- php连接oracle(PHP远程连接oracle数据库操作实现方法图文详解)
- oracle删除表后怎么清理磁盘空间(Oracle 删除用户和表空间详细介绍)
- mysql与oracle体系结构(详解MySQL实时同步到Oracle解决方案)
- mysql的事务隔离级别怎么实现(mysql、oracle默认事务隔离级别的说明)
- zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)
- oracle恢复删除的表数据
- zabbix支持oracleodbc功能吗(使用zabbix监控oracle数据库的方法详解)
- oracle和mysql查询所有表(Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍)
- Oracle TO_CHAR的使用
- docker部署oracle(Docker安装Oracle_11g的方法)
- 安装SQL Server 2016出错提示:需要安装oracle JRE7 更新 51(64位)或更高版本问题的解(安装SQL Server 2016出错提示:需要安装oracle JRE7 更新 5164位或更高版本问题的解)
- mac使用docker部署项目(如何在mac上用docker对Oracle进行部署使用)
- oracle RMAN CONFIGURE配置项
- oraclemysql知识点(详解Mysql和Oracle之间的误区)
- 自己在做项目过程中的php知识(PHP+Oracle本地开发环境搭建方法详解)
- 提醒 2019年起河南驾考要开设科目五 官方回应来了(2019年起河南驾考要开设科目五)
- 省 市书法家协会 送万福进万家 活动走进禹州美丽乡村(省市书法家协会)
- 点赞 禹州苌庄正式撤乡建镇 未来发展不可估量(禹州苌庄正式撤乡建镇)
- 它荣获 中国生态魅力镇 称号 就在咱们禹州,一起来看看(中国生态魅力镇)
- 真牛 禹州将建成中等城市(禹州将建成中等城市)
- 被骂欺师灭祖,与郭德纲公开叫板,何云伟改名何沄伟,开始画画了(与郭德纲公开叫板)
热门推荐
- nginx反向代理怎样实现(Nginx反向代理配置的全过程记录)
- html5长按动画效果(HTML5实现移动端弹幕动画效果)
- 云服务器linux图形化(linux云服务器如何扩容?)
- 阿里云轻量级服务器怎么安装宝塔(阿里云服务器安装宝塔面板和配置安全组图文教程)
- linux查看磁盘空间异常占用(Linux磁盘空间释放问题整理)
- javascript组件库实现(JavaScript分页组件使用方法详解)
- nginx负载均衡原理3种(Nginx负载均衡以及动静分离的原理与配置)
- 虚拟机安装centos8网络设置(VMware安装CentOS虚拟机与配置网络的图文教程)
- vue 手机端tab切换页面不刷新(vue Tab切换以及缓存页面处理的几种方式)
- iis默认文档位置(在IIS6中新增可下载文件类型的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9