首页 > 数据库 >Oracle-nvl函数的使用(及其相似函数)

Oracle-nvl函数的使用(及其相似函数)

时间:2023-03-27 12:13:03浏览次数:30  
标签:返回 nvl 函数 WHEN Oracle null 数据

  • Oracle中的nvl函数使用

// SQL实例
select NVL("字段名称", 指定常量) from "表名";

// 结构拆解
NVL("数据1", "数据2");

代码解释
上述SQL的含义是指,从指定表中查出指定字段的所有数据集,如果某一条数据的该字段为空,则将该条查询结果用指定值进行替换,如果字段值不为空,则还是显示数据原始值。

简单理解就是,nvl函数的括号中可以填两个数据,数据的数据类型必须相同,如果第一个数据为空,则取第二个数据的值,第一个数据不为空,则取第一个数据的原值。

使用场景
1.例如移除计算或操作中的null值
2.例如count(*)中,直接查询时有些符合条件的数据可能查不出来,需要用nvl(列名,0)处理后再查,空值不能被索引

  • 相似函数-进阶版的nvl2

// 进阶版的nvl2
NVL2("数据1", "数据2","数据3");

nvl2函数的括号中可以填三个数据,如果数据1为空,返回数据3的值,如果数据1不为空,返回数据2的值。

相似函数-case…when
//简单Case函数
CASE sex WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END
//Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END

  • 相似函数-NULLIF函数

// NULLIF函数
NULLIF("数据1","数据2");

如果数据1和数据2相等的话,返回null,如果不相等,返回数据1

  • 相似函数-Coalesce函数函数

// Coalesce函数函数
Coalesce("数据1", "数据2", "数据3"…"数据n");

作用是返回第一个不为null的数据,如果都为null,则返回null,本质上类似于nvl函数的循环使用
————————————————
原文链接:https://blog.csdn.net/Jccarry/article/details/119885715

标签:返回,nvl,函数,WHEN,Oracle,null,数据
From: https://www.cnblogs.com/lbzwd/p/17261106.html

相关文章

  • oracle数据库基本操作
    创建表空间:createtablespace表名datafile'c:\表名.dbf'(创建表路径)size100m   (表空间大小 100mb)autoextendon(空间不足时自动增长)next10m(每......
  • Oracle rownum = 1 和order by连用的坑!!!
    ORACLE中rownum和orderby的优先级比较rownum和orderby的优先级比较是要分情况的:orderby索引,主键时,即可让oracle先按该字段排序,然后再用rownum标号。orderby普通列......
  • Oracle中nvl()与nvl2()函数详解
    1.nvl:根据参数1是否为null返回参数1或参数2的值【函数格式】:nvl(expression1,expression2)【函数说明】:若expression1值为null,则该函数返回expression2;若expression1......
  • python 类的方法与普通函数的区别
    引用菜鸟教程中所说:类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,按照惯例它的名称是self。下面我就写了个类的构造方法和类的方法,......
  • Delphi Locate函数[1] - 查询、定位
     DelphiTDataSet.Locate函数-查询、定位使用ADO等数据控件的时候,经常会用到 locate函数,在结果数据集中查询和定位,下面介绍一下:原型:1function Locat......
  • Linux函数之lseek、stat、lstat
    Linux函数之lseek、stat、lstat的简单介绍lseek函数在Linux终端下输入命令:man2lseek,可以查看具体函数信息#include<sys/types.h>#include<unistd.h>......
  • C#:C#终结器(析构函数)
    C#终结器是一种特殊的方法,它在对象被垃圾回收之前被调用。它可以用来释放非托管资源,如文件句柄、数据库连接等。在C#中,终结器是通过在类的定义中添加一个名为“~类名”的......
  • Oracle问题:ORA-01565
    问题oracle启动时报错,找不到spfile文件。ORA-01078:failureinprocessingsystemparametersORA-01565:errorinidentifyingfile'+datadg/prod/parameterfile/spf......
  • css-6个可以在css属性中使用的函数
    1-calc计算结果div{width:calc(100vm-50px);}2-var它可以将CSS变量的值赋予属性:root{--main-bg-color:coral;--main-padding:15px;}div{backgro......
  • 将一个多维数组整合成树形结构,可以通过递归函数来实现
    functionbuildTree(arr,parentId=null){lettree=[];for(leti=0;i<arr.length;i++){letitem=arr[i];if(item.parentId===parentId......