Oracle在Logstash需求中碰到的问题处理方式

news2024/11/29 2:52:22

Oracle对空值(NULL)的5种处理

  • 在公司Logstash相关需求中,为了方便sql语句更加简洁,所以需要使用到Oracle中的视图,在视图创建过程中,遇到有关对Null值的处理,这里做一个整理,方便日后查询

COALESCE函数

  • COALESCE(expr1,expr2,expr3,…)函数接受一个输入参数的列表,返回第1个非空的参数。如果所有的参数都为空,则返回空值。
    • 判断expr1参数是否为空,不为空返回expr1,否则判断expr2参数是否为空,不为空返回expr2,否则判断expr3参数是否为空,不为空返回expr3…

NULLIF函数

  • NULLIF(expr1,expr2)函数接受两个输入参数,如果第1个参数等于第2个参数,返回空值;否则,返回第1个参数的值

CASE表达式

--查询部门ID为2的部门员工全年收入(包括工资和奖金)
SELECT t.emp_name,
  t.salary AS "工资",
  t.bonus AS "奖金",
  CASE WHEN t.bonus IS NULL THEN t.salary*12 
       ELSE  t.salary*12 + t.bonus 
  END AS "全年收入"    
FROM employee t WHERE t.dept_id=2;

NVL(expr1,expr2)函数

  • NVL(expr1,expr2)函数返回第1个非空的参数值,等价于只有两个参数的COALESCE函数

NVL2(expr1,expr2,expr3)函数

  • NVL2(expr1,expr2,expr3)函数包含3个参数,如果第1个参数不为空,返回第2个参数的值;否则,返回第3个参数的值。

Oracle拼接

使用||

  • Oracle 拼接两个字段,并且中间使用 特殊字符进行拼接
 select 字段1|| '-' || 字段2 AS '字段名' FROM 表名

使用wm_concat

Oracle wm_concat()函数 - 浅雨凉 - 博客园 (cnblogs.com)

oracle中使用wm_concat函数的方法及弊端(解决办法)_阿呆观月的博客-CSDN博客

Oracle的decode函数

用法

用法一

decode(条件,1,返回值1,2,返回值2,…值n,返回值n,缺省值)

解释:条件满足值1,则返回值1,满足值2,则返回值2,以此类推

用法二

decode(字段或字段的运算,值1,值2,值3)

解释:这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3

应用举例

  • 翻译值
--Oracle
select t.id,
       t.name,
       t.age,
       decode(t.sex, '1', '男生', '2', '女生', '其他') as sex
  from STUDENT2 t
  
--MySql
select t.id,
	   t.name,
	   t.age,
	   if(t.sex ='1','男生',
         if(t.sex='2','女生','其他')) as sex
from STUDENT2 t
  • 比较大小
--Oracle
select t.id,
       t.name,
       t.age,
       decode(sign(t.age - 20),
              1,
              '20以上',
              -1,
              '20以下',
              0,
              '正好20',
              '未知') as sex
  from STUDENT2 t
  
 --MySql
select t.id,
       t.name,
       t.age,
       if(t.age-20>0,'20以上',(
				 if(t.age-20<0,'20以下',
        	if(t.age-20=0,'正好20','未知')))) as sex
  from STUDENT2 t
  • 搜索字符串
--Oracle
select t.id,
       decode(instr(t.name, '三'), 0, '姓名不含有三', '姓名含有三') as name,
       t.age,
       t.sex
  from STUDENT2 t

--MySql
select t.id,
       if(instr(t.name, '三')=0,'姓名不含有三', '姓名含有三') as name,
       t.age,
       t.sex
  from STUDENT2 t
  • decode分段
select name,
       sal,
       decode(sign(sal - 5000),
              1,
              '高薪',
              0,
              '高薪',
              -1,
              decode(sign(sal - 3000), 1, '中等', 0, '中等', -1, '低薪')) as salname
  from person;

  • 判断是否为空
select t.id,
       t.name,
       t.age,
       decode(t.sex,NULL,'暂无数据',t.sex) as sex
  from STUDENT2 t

实际应用

||和nvl2结合使用

在这里插入图片描述

结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wgX6KZG-1669089272073)(C:\Users\Ausware01\AppData\Roaming\Typora\typora-user-images\image-20221122113317783.png)]

||和nvl和decode结合使用

在这里插入图片描述

结构图

在这里插入图片描述

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

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

相关文章

【python】PyQt5的环境搭建和使用

什么是pyQT pyqt是一个用于创建GUI应用程序的跨平台工具包&#xff0c;它将python与qt库融为一体。也就是说&#xff0c;pyqt允许使用python语言调用qt库中的API。这样做的最大好处就是在保存了qt高运行效率的同时&#xff0c;大大提高开发效率。因为&#xff0c;使用python语…

【Spring Cloud实战】SpringCloud Sleuth分布式请求链路跟踪

gitee地址&#xff1a;https://gitee.com/javaxiaobear/spring-cloud_study.git 在线阅读地址&#xff1a;https://javaxiaobear.gitee.io/ 1、概述 在微服务框架中&#xff0c;一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果&…

HTML5期末大作业 HTML+CSS+JavaScript美食坊美食购物主题(15页)

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

数据上云,如何解除用户对厂商监守自盗的担忧?

企业数字化转型中&#xff0c;安全从来都是企业用户最为关心和敏感的问题之一。对于数据上云&#xff0c;很多企业持保留态度。作为数字化转型服务商&#xff0c;如何解除用户对厂商监守自盗的担忧&#xff1f; 1.敏感的数据安全与用户的普遍认识 企业用户普遍对数据安全是极其…

湖北绝缘监测仪矿业煤炭石油金矿玉矿铁矿铜矿矿井钢厂

安科瑞 华楠 自第一次工业革命开始&#xff0c;人类社会进入工业时代。随着工业科技的发展&#xff0c;漏电流对工业生产安全构成了很大的威胁。为了提高供电的连续性、可靠性和安全性&#xff0c;许多重要生产场所也采用了IT配电系统&#xff08;不接地供电系统&#xff09;。…

使用CyberController来将旧手机改造成电脑外挂------手机交互翻译、人脸解锁、语音识别....各个功能等你来探索

文章目录前言操作PC端安装Python环境调试代码设置开机启动HMS Core API申请注册账号创建应用填写基本信息填写应用信息软件图标应用的截图应用分类API信息设置添加对应的包名勾选机器学习服务复制API信息将JSON信息保存下来安卓端安装开发工具修改源码克隆项目打开项目修改包名…

水滴邮件营销:让企业营销更简单

企业在利用邮件开发客户、推广产品的时候&#xff0c;最终目的是想产生转化&#xff0c;获得收益。邮件营销有他得天独厚的优势&#xff0c;它为买卖双方提供了一个交流平台&#xff0c;并且只要收件人同意&#xff0c;企业就可以长期对其进行个性化营销。这为企业积累长期忠实…

缘来交友网站的设计与实现(源码+数据库+论文+开题报告+说明文档)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

DDANet: Dual Decoder Attention Network for Automatic Polyp Segmentation

双decoder用于息肉分割。文章的创新点在与使用了双分支的decoder&#xff0c;单encoder的结构。decoder的第二个分支会产生注意力map&#xff0c;在代码中体现为输出通道为1。这个和之前看的confidence map很像。 看一下文章的结构图&#xff1a; 在decoder中&#xff0c;第二…

小米手机买什么蓝牙耳机好?适配小米手机的蓝牙耳机推荐

作为一位音乐爱好者&#xff0c;拥有一款好的耳机是非常重要的。无线蓝牙耳机的出现就为喜欢听音乐的伙伴们提供了一个很好的选择&#xff0c;既不会有耳朵的胀痛&#xff0c;也不会影响享受音乐的体验&#xff0c;小米手机近几年也是深受大众欢迎&#xff0c;因此&#xff0c;…

【数据结构Note5】-二叉排序树 BST和平衡二叉树AVL

二叉排序树BST 二叉排序树&#xff0c;又称二叉查找树&#xff08;BST&#xff0c;Binary Search Tree&#xff09; 二叉排序树是左子树节点值<根节点值<右子树节点值的二叉树 所以对二叉排序树进行中序遍历会得到一个递增的序列&#xff08;左子树-根-右子树&#xff09…

nginx实战

目录反向代理去掉前缀场景1&#xff1a;去掉一层前缀场景2&#xff1a;去掉两层前缀返回固定json增加后缀映射情况一情况二情况三情况四正向代理负载均衡正则匹配~ /item/(\d)反向代理 通过Nginx我们可以实现反向代理&#xff0c;这也是我在项目中使用到的一个功能&#xff0c…

20221122非累加的m3u8的ts切片列表的补全步骤

20221122非累加的m3u8的ts切片列表的补全步骤 2022/11/22 19:07 https://apppy87xs3b3950.h5.xiaoeknow.com/v2/course/alive/l_6374b6d0e4b0edc794f61031?type2&app_idapppy87xs3b3950&availabletrue&share_user_idu_61333670aabd8_rizBVXTg2F&share_type5&a…

从零开始的图像语义分割:FCN快速复现教程(Pytorch+CityScapes数据集)

从零开始的图像语义分割&#xff1a;FCN复现教程&#xff08;PytorchCityScapes数据集&#xff09;前言一、图像分割开山之作FCN二、代码及数据集获取1.源项目代码2.CityScapes数据集三、代码复现1.数据预处理2.代码修改3.运行结果总结参考网站前言 摆了两周&#xff0c;突然觉…

【第五部分 | JS WebAPI】6:PC端网页特效与本地存储

目录 | 概述 | PC端网页特效之三大系列 1-1 elementObj . offsetXXX 属性 1-2 elementObj . style 和 offset 的区别 1-3 案例&#xff1a;获取鼠标在某个盒子内的位置 2-1 elementObj . clientXXX 属性 3-1 elementObj . scrollXXX 属性 三大系列总结 | 动画函数封装 …

LeetCode1005. K 次取反后最大化的数组和

1 题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可能的最大和 。 示例 1&a…

弹簧(压簧)力度计算与设计

弹簧&#xff08;压簧&#xff09;力度计算与设计弹簧的种类什么是弹性系数弹簧的材料常用材料与用途弹性系数与哪些因素有关弹簧力度设计与计算弹簧收尾设计弹簧是一种利用弹性来工作的机械零件。一般用弹簧钢制成。利用它的弹性可以控制机件的运动、缓和冲击或震动、储蓄能量…

[附源码]java毕业设计校园疫情防控管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

BMN:Boundary-matching network for temporal action proposal generation

Video Analysis 相关领域解读之Temporal Action Detection(时序行为检测) - 知乎本文投稿于 极视角 公众号&#xff0c;链接为 文章链接. 上一篇 Video Analysis相关领域解读之Action Recognition(行为识别) - 知乎专栏介绍了 Action Recognition 领域的研究进展。Action Recog…

转铁蛋白修饰纳米载体(纳米颗粒,介孔硅,四氧化三铁,二氧化硅等)

转铁蛋白又名运铁蛋白&#xff08;Transferrin&#xff0c;TRF、Tf&#xff09;&#xff0c;负责运载由消化管吸收的铁和由红细胞降解释放的铁。以三价铁复合物&#xff08;Tf-Fe3&#xff09;的形式进入骨髓中&#xff0c;供成熟红细胞的生成。转铁蛋白主要存在于血浆中&#…