10.Oracle中decode函数

【函数格式】:
        decode (

        expression,

        condition_01, result_01,

        condition_02, result_02,

        ......,

        condition_n, result_n,

        result_default)

【函数说明】:
若表达式expression值与condition_01值匹配,则返回result_01,若不匹配,则继续判断;
若表达式expression值与condition_02值匹配,则返回result_02,若不匹配,则继续判断;
以此类推,若表达式expression值condition_n值匹配,则返回result_n,若不匹配,则继续判断;
若表达式expression值与以上所有的condition都不匹配,则返回默认值result_default,若省略result_default参数,则返回null

示例

insert into T_STUDENT_GRADE (studentid, classid, engilshgrade, chinesegrade, mathgrade, gradelevel)
values ('stud01', 'clas01', 60, 70, 80, 'C');
insert into T_STUDENT_GRADE (studentid, classid, engilshgrade, chinesegrade, mathgrade, gradelevel)
values ('stud02', 'clas01', 75, 85, 95, 'B');
insert into T_STUDENT_GRADE (studentid, classid, engilshgrade, chinesegrade, mathgrade, gradelevel)
values ('stud03', 'clas01', 80, 90, 100, 'A');
insert into T_STUDENT_GRADE (studentid, classid, engilshgrade, chinesegrade, mathgrade, gradelevel)
values ('stud04', 'clas02', 55, 60, 65, 'D');
insert into T_STUDENT_GRADE (studentid, classid, engilshgrade, chinesegrade, mathgrade, gradelevel)
values ('stud05', 'clas02', 40, 50, 60, 'E');
insert into T_STUDENT_GRADE (studentid, classid, engilshgrade, chinesegrade, mathgrade, gradelevel)
values ('stud06', 'clas02', 100, 100, 100, 'S');

查询表中数据,查询结果如下所示

 1.将指定数据翻译或转换成其他形式

sql语句如下:

select GradeLevel,decode(GradeLevel,'S','完美','A','优秀','B','良好','C','较好','D','及格','E','不及格','其他') as gradeRemark from T_STUDENT_GRADE

返回结果如下图所示:

2.对指定数据按指定范围进行分段

sql语句如下:

select mathgrade,decode(mathgrade,100,'完美',decode(sign(mathgrade-90),1,'优秀',0,'优秀',-1,decode(sign(mathgrade-80),1,'良好',0,'良好',-1,decode(sign(mathgrade-70),1,'较好',0,'较好',-1,decode(sign(mathgrade-60),'1','及格',0,'及格',-1,'不及格'))))) as mathGradeRemark from T_STUDENT_GRADE

返回结果如下图所示:

 3.判断指定数据是否符合指定特征

sql语句如下:

//判断英语分数是否及格

select engilshgrade,decode(sign(engilshgrade-60),1,'大于60分',0,'等于60分','低于60分') passFlag from T_STUDENT_GRADE

返回结果如下图所示:

 

4.对数据按照指定要求进行排序

sql语句如下:

select * from T_STUDENT_GRADE order by decode(GradeLevel,'S',1,'A',2,'B',3,'C',4,'D',5,'E',6) asc

返回结果如下图所示:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CPU深度解析

操作系统课程 计算机组成 ALU:计算单元(运算器)PC:pc寄存器存执行指令Registers:寄存器存数据MMU:控制器程序的构成:指令+数据 总线:一个程序读入内存,全是由0和1构成,从内存读取到cpu计算,需要通过总线。一段01数据段是指令还是数据是通过来源总线区分的。总线分…

flutter和原生利用pigeon建立通道

首先导入依赖: dependencies: pigeon: ^10.0.0定义一个文件: /// 用于定于flutter和平台的桥接方法 /// HostApi() 标记的,是用于 Flutter 调用原生的方法; /// FlutterApi() 标记的,是用于原生调用 Flutter 的方法&…

Netty入门学习和技术实践

Netty入门学习和技术实践 Netty1.Netty简介2.IO模型3.Netty框架介绍4. Netty实战项目学习5. Netty实际应用场景6.扩展 Netty 1.Netty简介 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具&…

高精度地图定位在高速公路自动驾驶系统中的应用

近年来随着汽车保有量不断增加,随之而来的是: ( 1) 严重的交通拥堵,通行效率低下,用在通行上的时间不断增加; ( 2) 交通事故频发,交通事故导致的伤亡人数和费用不断增加,而且绝大多数事故是由人为因素导致的; ( 3) 大气…

2023年6月电子学会Python等级考试试卷(一级)答案解析

青少年软件编程(Python)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 可以对Python代码进行多行注释的是?( ) A. #

Linux:Nginx服务与搭建

目录 一、Nginx概述 二、Nginx三大作用:反向代理、负载均衡、动静分离 三、Nginx和Apache 3.1Nginx和Apache的差异 3.2Nginx和Apache的优缺点比较 四、编译安装niginx 五、创建Nginx 自启动文件 六、Nginx的信号使用 6.1信号 七、升级 nginx1.18 nginx1.2…

题解:ABC281C - Circular Playlist

题解:ABC281C - Circular Playlist 题目 链接:Atcoder。 链接:洛谷。 难度 算法难度:C。 思维难度:C。 调码难度:C。 综合评价:入门。 算法 模拟循环取模优化。 思路 记从Song1至So…

企业展示小程序的制作流程及关键步骤详解

在移动互联网时代,企业展示小程序已成为各个行业推广和展示的重要工具。搭建一个企业展示小程序不仅能够提高企业形象,还能够增加用户粘性和提升用户体验。下面我们来看一下如何从零基础搭建一个企业展示小程序,并顺利上线。 第一步&#xff…

2023.8 - java - 多态

多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作, 多态的优点 1. 可替换性2 可扩充性3. 接口性、灵活性、简化性4. 消除类型之间的耦合关系 多态存在的三个必要条件 继承重写父类引用指向子类…

代码随想录第五十天

代码随想录第五十天 Leetcode 123. 买卖股票的最佳时机 IIILeetcode 188. 买卖股票的最佳时机 IV Leetcode 123. 买卖股票的最佳时机 III 题目链接: 买卖股票的最佳时机 III 自己的思路:想不到!!!!高维dp数组!&#x…

每日一题:leetcode 56 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals [[1,…

【负载均衡】Nacos简单入门

Nacos简单入门 快速安装 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: 下载完压缩包之后,放在任意目录下面进行解压: GitHub主页:https://github.com/alibaba/nacos G…

Android源码——从Looper看ThreadLocal

1 概述 ThreadLocal用于在当前线程中存储数据,由于存储的数据只能在当前线程内使用,所以自然是线程安全的。 Handler体系中,Looper只会存在一个实例,且只在当前线程使用,所以使用ThreadLocal进行存储。 2 存储原理 …

机器学习策略——优化深度学习系统

正交化(Orthogonalization) 老式电视机,有很多旋钮可以用来调整图像的各种性质,对于这些旧式电视,可能有一个旋钮用来调图像垂直方向的高度,另外有一个旋钮用来调图像宽度,也许还有一个旋钮用来…

AIGC ChatGPT 按年份进行动态选择的动态图表

动态可视化分析的好处与优势: 1. 提高信息理解性:可视化分析使得大量复杂的数据变得易于理解,通过图表、颜色、形状、尺寸等方式,能够直观地表现不同的数据关系和模式。 2. 加快决策速度:数据可视化可以帮助用户更快…

04_19linux自己撸内存池实战,仿造slab分配器

前言 自己撸一个内存池 其实就相当于linux里面带的 slab分配器 可以翻翻之前的章 看看slab 和伙伴分配器的不同 在学习c语言时,我们常常会使用到malloc()去申请一块内存空间,用于存放我们的数据。刚开始我们只要知道申请内存时使用用malloc去申请一块就…

RV64函数调用流程分析

RV64函数调用流程分析 1 RV64 函数调用实例2 对应代码的分析2.1 main函数及其对应的汇编程序2.1.1 main的C代码实现2.1.2 main函数对应汇编及其分析2.1.3 执行完成之后栈的存放情况 2.2 test_fun_a函数及其对应的汇编程序2.2.1 test_fun_a函数的C实现2.2.2 test_fun_a函数对应汇…

C# 与 .NET 之间的关系和区别

C# 语言介绍 C#(读作“See Sharp”)是一种新式编程语言,不仅面向对象,还类型安全。 开发人员利用 C# 能够生成在 .NET 中运行的多种安全可靠的应用程序。 C# 源于 C 语言系列,C、C、Java 和 JavaScript 程序员很快就可…

Flask狼书笔记 | 04_表单

文章目录 4 表单4.1 HTML表单4.2 使用Flask-WTF4.3 处理表单数据4.4 表单进阶实践小记 4 表单 表单是和用户交互最常见的方式之一&#xff0c;本章涉及的Python包由WTForms、Flask-WTF、Flask-CKEditor。&#xff08;p104&#xff09; 4.1 HTML表单 通过<form>标签创建…