nvl函数

Oracle常用函数

China☆狼群 提交于 2020-03-10 18:10:46
1.NVL(eExpression1, eExpression2) 函数: 参数: eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。 返回值类型 :字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值 说明: 在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。 select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID 注意:两个参数得类型要匹配 问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL, 我们称它为空,ORACLE中,含有空值的表列长度为零。 ORACLE允许任何一种数据类型的字段为空,除了以下两种情况: 1、主键字段(primary key), 2

oracle中nvl()函数

天大地大妈咪最大 提交于 2020-03-10 18:06:52
NVL是Oracle PL/SQL中的一个函数。它的格式是NVL( string1, replace_with)。 它的功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。 pandas和SQL数据分析实战 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398149 来源: https://www.cnblogs.com/webRobot/p/11307040.html

SQL中NVL函数

二次信任 提交于 2020-03-10 18:04:51
空值判断函数 1、NVL(表达式A,表达式B) 如果表达式A为空值,NVL返回值为表达式B的值,否则返回表达式A的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式A和表达式B的数据类型必须为同一个类型。 例: nvl(clue_num,0):如果clue_num为空,则返回0;否则返回clue_num的值 2、NVL2(表达式A,表达式B,表达式C) 如果表达式A为空,则返回表达式C的值;如果表达式A不为空,则返回表达式B的值。 例: nvl(sex,0,1):如果sex为空,则返回1;否则返回0 来源: https://www.cnblogs.com/as-zhlan/p/10717853.html

NVL函数

戏子无情 提交于 2020-03-10 18:04:16
1.NVL函数 从两个表达式返回一个非 null 值。 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。 返回值类型 字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值 2.NVL2函数 语法 NVL(eExpression0, eExpression1,eExpression2) 参数 eExpression0,eExpression1, eExpression2 如果 eExpression0 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression0 的计算结果不是 null 值,则返回 eExpression1。eExpression1和eExpression2类型不同的话

oracle中的nvl(), nvl2()函数

倖福魔咒の 提交于 2020-03-10 18:03:20
nvl()函数是oracle/plpgsql中的一个函数,格式为:nvl(string1, replace_with) 功能:如果string1 位null,那么nvl()函数返回replace_with的值,否则返回sting1的值。 注意:sting1和replace_with必须是同一数据类型,除非显示的适用to_char函数。 例子: nvl(to_char(some_numeric),’some string’) --其中some_numeric指某个数据类型的值。 例如: nvl(yan,0)>0 nvl(yan,0) 的意思是如果yan是null, 则取0值。 通过查询获得某个字段的合计值,如果这个值为null,则给出一个预设的 默认值(此处为0,也可以设置为其他值)。 例如: select nvl(sum(t.dwx),1) from tb t ; 就表示如果sum(t.dwx) = null就返回1。 还有另一种有关的有用的方法: Declare i integer Select nvl(sum(t.dwx),1) into i from tb t where zx = -1; 以上把获得的合计值存储到变量i中,如果查询的值为Null就把它的值设置为1。 其他用法举例如下: select nvl(rulescore,0) from zwjc_graderule

Oracle中NVL函数的用法详解

限于喜欢 提交于 2020-02-12 20:45:39
NVL函数可以用在 判断列值是否为空 的情况。 1. 如果列值不为空,则返回列值本身的值 2. 如果列值为空,则返回该函数中第二个参数的值 函数语法:NVL(参数1,参数2) 举个简单的例子: 列出emp表中comm列值不为空的员工姓名,SQL实现如下: select ename from emp where nvl(comm,0)>0; 首先,我们通过以下sql先看一下nvl函数的返回值情况: select ename,nvl(comm,0) from emp; 通过上面实例,可以看出为空的comm列值返回值为0 所以我们可以通过返回值大于0的条件来取出comm不为空的员工。 当然了,不为空的条件也可以用 is not null 来实现: select ename from emp where comm is not null; 来源: CSDN 作者: 我是一名程序猿 链接: https://blog.csdn.net/baidu_35901646/article/details/104283515

常用SQL查询语句

时光总嘲笑我的痴心妄想 提交于 2020-01-01 02:29:12
一、简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指定列 SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项 4. 查询指定行 SQL>SELECT * FROM emp WHERE job='CLERK'; 5. 使用算术表达式 SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp; nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。 SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序) SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82'; 6. 使用like操作符(%,_) %表示一个或多个字符,_表示一个字符,[charlist]表示字符列中的任何单一字符,[^charlist]或者[!charlist]不在字符列中的任何单一字符。 SQL>SELECT * FROM emp WHERE ename like 'S

常用SQL查询语句

好久不见. 提交于 2020-01-01 02:27:44
常用SQL查询语句 一、简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指定列 SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项 4. 查询指定行 SQL>SELECT * FROM emp WHERE job='CLERK'; 5. 使用算术表达式(nvl(comm,0) 如果comm为空就变成0) SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp; nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。 SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序) SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82'; 6. 使用like操作符(%,_) %表示一个或多个字符,_表示一个字符,[charlist]表示字符列中的任何单一字符,[^charlist]或者[!charlist]不在字符列中的任何单一字符。 SQL

常用SQL查询语句

房东的猫 提交于 2020-01-01 02:26:15
一、简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指定列 SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项 4. 查询指定行 SQL>SELECT * FROM emp WHERE job='CLERK'; 5. 使用算术表达式 SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp; nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。 SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序) SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82'; 6. 使用like操作符(%,_) %表示一个或多个字符,_表示一个字符,[charlist]表示字符列中的任何单一字符,[^charlist]或者[!charlist]不在字符列中的任何单一字符。 SQL>SELECT * FROM emp WHERE ename like 'S

oracle nvl()函数

不想你离开。 提交于 2019-12-06 00:30:57
语法1:nvl(str1, str2) 如果str1为null,则返回表达式str2的值。如果str1不为null,则返回表达式str1的值。 拿下图的ORDER_COUNT为例,若SUM(ORDER_COUNT)为null,则返回0。要注意的一点是,表达式1和表达式2的数据类型必须为同一个类型 语法2: nvl2(str1, str2, str3) 如果str1为null,则函数返回表达式str3的值。如果str1不为null,则返回表达式str2的值。 来源: https://www.cnblogs.com/xdsuannai/p/11953771.html