通用函数

目录

处理null

多数值判断


Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645

Oracle 提供了两个简单的数据处理函数: nvl()、decode()。在版本升级的过程中,这两个函数又衍生出了许多子函数

处理null

下面首先通过查询,计算出每一个员工的年薪,包括基本工资和佣金

SQL> select empno,ename,job,sal,comm,(sal+comm)*12 income2  from emp;EMPNO ENAME                JOB                       SAL       COMM     INCOME
---------- -------------------- ------------------ ---------- ---------- ----------7369 SMITH                CLERK                     8007499 ALLEN                SALESMAN                 1600        300      228007521 WARD                 SALESMAN                 1250        500      210007566 JONES                MANAGER                  29757654 MARTIN               SALESMAN                 1250       1400      318007698 BLAKE                MANAGER                  28507782 CLARK                MANAGER                  24507839 KING                 PRESIDENT                50007844 TURNER               SALESMAN                 1500          0      180007900 JAMES                CLERK                     9507902 FORD                 ANALYST                  3000

可以发现,com 和 income 列中有许多是空的

上述现象的原因在于,所有没有佣金的员工,在进行年收入计算的时候,最终的计算结果都是null,因为 nul 在进行任何数学计算后结果永远都是 null。而实际上在计算过程中,如果发现数字内容为 null,则应该使用 0 来替代,这时就需要利用 nvl() 函数来解决此类问题

nvl( 列 | null,为空的默认值 )

如果列上的内容不是 null,则使用列的数据;如果为 null,则使用默认值

SQL> select empno,ename,job,sal,comm,nvl(comm,0),(sal+nvl(comm,0))*12 income2  from emp;EMPNO ENAME                JOB                       SAL       COMM NVL(COMM,0)     INCOME
---------- -------------------- ------------------ ---------- ---------- ----------- ----------7369 SMITH                CLERK                     800                      0       96007499 ALLEN                SALESMAN                 1600        300         300      228007521 WARD                 SALESMAN                 1250        500         500      210007566 JONES                MANAGER                  2975                      0      357007654 MARTIN               SALESMAN                 1250       1400        1400      318007698 BLAKE                MANAGER                  2850                      0      342007782 CLARK                MANAGER                  2450                      0      294007839 KING                 PRESIDENT                5000                      0      600007844 TURNER               SALESMAN                 1500          0           0      180007900 JAMES                CLERK                     950                      0      114007902 FORD                 ANALYST                  3000                      0      36000

这个查询使用函数 NVL(comm,0),把 com 列所有的 nul 都替换为 0

多数值判断

所谓的多数值判断,指的是在输出的时候,对不同的结果分别进行数据转换。例如,每一位员工的职位使用的都是英文描述,在输出查询结果时决定将其更换为中文

decode( 列,匹配内容 1,显示内容 1,匹配内容 2,显示内容 2,...[,默认值 ])
SQL> select empno,ename,job,decode(job,'CLERK','办事员','SALESMAN','销售','MANAGER','经理','ANALYST','分析','PRESIDENT','总裁','暂无此 消息')2  from emp;EMPNO ENAME                JOB                DECODE(JOB,'CLERK','办事员','S
---------- -------------------- ------------------ ------------------------------7369 SMITH                CLERK              办事员7499 ALLEN                SALESMAN           销售7521 WARD                 SALESMAN           销售7566 JONES                MANAGER            经理7654 MARTIN               SALESMAN           销售7698 BLAKE                MANAGER            经理7782 CLARK                MANAGER            经理7839 KING                 PRESIDENT          总裁7844 TURNER               SALESMAN           销售7900 JAMES                CLERK              办事员7902 FORD                 ANALYST            分析

可以发现每一位员工职位的英文描述更换为了中文

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

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

相关文章

0基础学习VR全景平台篇第141篇:如何制作卫星航拍全景

大家好,欢迎观看蛙色官方系列全景摄影课程! 很多人都看过或者拍摄过航拍全景,其效果相比于普通的地拍的确有着更加震撼的拍摄效果,但是受限于无人机高度,以及禁飞区等等限制,导致很多大场景无法展示完全&a…

npm eslint 禁用

配置文件 ESLint 最主要的配置方式。ESLint 配置文件支持多种格式,同一目录下,ESLint 按 .eslintrc.js, .eslintrc.cjs, .eslintrc.yaml, .eslintrc.yml, .eslintrc.json, package.json 下的 eslintConfig 字段 的顺序查找配置,相同目录下只…

Linux防火墙与iptables五表五链规则介绍

目录 一、防火墙基本认识 1. 安全技术 2. 防火墙分类 3. 防火墙工具介绍 二、iptables 1. 概述 2. 五表五链 3. 语法 3.1 基本语法 3.2 语法总结 4. 管理选项 5. 通用匹配 6. 控制类型 7. iptables应用 7.1 新增防火墙规则 7.2 查看规则表 7.3 黑白名单 7.4 …

【应用容器-Docker】

Docker 是一个开源的容器化平台,可以帮助开发者将应用程序和所有依赖项打包到一个称为容器的可移植单元中。容器化技术可以提供一种轻量级、快速、可靠和可重复部署应用程序的方法。 Docker 的基本概念包括以下几个方面: 1. 镜像(Image&…

C++ 调用lua 脚本

需求: 使用Qt/C 调用 lua 脚本 扩展原有功能。 步骤: 1,工程中引入 头文件,库文件。lua二进制下载地址(Lua Binaries) 2, 调用脚本内函数。 这里调用lua 脚本中的process函数,并…

canvas图片上设置镂空文字效果

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

C语言-3

定义指针 /*指针的概念:1.为了方便访问内存中的内容,给每一个内存单元,进行编号,那么我们称这个编号为地址,也就是指针。2.指针也是一种数据类型,指针变量有自己的内存,里面存储的是地址,也就是…

Ansible概述、Ansible环境准备、Ansibleadhoc临时命令语法、命令模块、文件模块、用户模块、综合练习

ansible 批量管理服务器的工具2015年被红帽公司收购使用Python语言编写的基于ssh进行管理,所以不需要在被管端安装任何软件ansible在管理远程主机的时候,主要是通过各种模块进行操作的 环境准备 主机名IP地址角色web1192.168.88.11被控制节点&#xf…

【HarmonyOS应用开发】APP应用的通知(十五)

相关介绍 通知旨在让用户以合适的方式及时获得有用的新消息,帮助用户高效地处理任务。应用可以通过通知接口发送通知消息,用户可以通过通知栏查看通知内容,也可以点击通知来打开应用,通知主要有以下使用场景: 显示接收…

BUGKU-WEB Simple_SSTI_1

02 Simple_SSTI_1 题目描述 没啥好说的~ 解题思路 进入场景后&#xff0c;显示&#xff1a; You need pass in a parameter named flag。ctrlu 查看源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><titl…

【MySQL】-10 MySQL 存储过程

MySQL 存储过程 优点缺点一、存储过程的创建和调用创建存储过程实例1、in 输入参数2、out输出参数3、inout输入参数 三、变量1. 变量定义2. 变量赋值3. 用户变量 四、注释MySQL存储过程的调用MySQL存储过程的查询MySQL存储过程的修改MySQL存储过程的删除MySQL存储过程的控制语句…

使用freemarker和itextpdf结合,将html转化为pdf

工作中遇到模板中的html&#xff0c;需要转化成pdf作为附件上传到系统 于是经过研究分析&#xff0c;得出用freemarker和itextpdf结合 maven需要导入包&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boo…

【力扣每日一题】力扣1696跳跃游戏VI

题目来源 力扣1696跳跃游戏VI 题目概述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一开始你在下标 0 处。每一步&#xff0c;你最多可以往前跳 k 步&#xff0c;但你不能跳出数组的边界。也就是说&#xff0c;你可以从下标 i 跳到** [i 1&#xff0c; min(n …

代码随想录 Leetcode491. 非递减子序列

题目&#xff1a; 代码(首刷看解析 2024年2月3日&#xff09;&#xff1a; class Solution { private:vector<vector<int>> res;vector<int> path; public:void backtracking(vector<int>& nums, int startIndex) {if (path.size() > 1) {res.…

iframe通信,window.postMessage父子项目数据通信

父 > 子 父项目 <iframe:src"cockpitUrl"id"cockpitIframe"load"handleLoad" ></iframe>// 向子系统传递数据&#xff08;注意要再iframe的load中注册&#xff0c;保证iframe已经加载完成&#xff0c;这样子项目才能监听到&…

HSM加密机原理:密钥管理和加密操作从软件层面转移到物理设备中 DUKPT 安全行业基础8

HSM加密机原理 硬件安全模块&#xff08;HSM&#xff09;是一种物理设备&#xff0c;设计用于安全地管理、处理和存储加密密钥和数字证书。HSM广泛应用于需要高安全性的场景&#xff0c;如金融服务、数据保护、企业安全以及政府和军事领域。HSM提供了一种比软件存储密钥更安全…

Web html和css

目录 1 前言2 HTML2.1 元素(Element)2.1.1 块级元素和内联(行级)元素2.1.2 空元素 2.2 html页面的文档结构2.3 常见标签使用2.3.1 注释2.3.2 标题2.3.3 段落2.3.4 列表2.3.5 超链接2.3.6 图片2.3.7 内联(行级)标签2.3.8 换行 2.4 属性2.4.1 布尔属性 2.5 实体引用2.6 空格2.7 D…

当前小程序跳转另一个小程序

原生小程序&#xff1a; wx.navigateToMiniProgram()&#xff1a; 参数值&#xff1a; appId要打开的小程序 appIdpath要跳转小程序的路径 uniapp小程序&#xff1a; uni.navigateToMiniProgram()&#xff1a; 参数值&#xff1a; appId要打开的小程序 appIdpath要跳转小…

vue3 之 组合式API—生命周期函数

vue3的生命周期API 生命周期函数基本使用 1️⃣导入生命周期函数 2️⃣执行生命周期函数 传入回调 <scirpt setup> import { onMounted } from vue onMounted(()>{// 组件挂载完毕mounted执行了 }) </script>执行多次 生命周期函数是可以执行多次的&#xff…

python 在气象、水文中数据处理及结果分析、绘图实践技术应用

Python在气象、水文数据处理和结果分析以及绘图方面的实践技术应用广泛&#xff0c;下面列举了一些主要的实践技术应用&#xff1a; 数据处理和分析&#xff1a;Python有强大的数据处理库&#xff0c;如NumPy和Pandas&#xff0c;使得数据的导入、处理和分析变得容易。使用这些…