Oracle Nvl()与Nv2()的使用
来源:互联网 发布:东方网络收购 编辑:程序博客网 时间:2024/04/27 18:21
Oracle Nvl函数与扩展函数nvl2()的用法
以下的文章主要介绍的是Oracle nvl函数,本文主要介绍的是其实际应用语法,以及实际应用的参数的介绍,以下就是相关的具体内容的相关描述,希望在你浏览之后会对你今后的学习中会有所帮助。
nvl( ) 函数
从两个表达式返回一个非 null 值。
语法
- 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((SELECT PRICE FROM AMS_SALE_PRICE PR WHERE UNIT_LENGTH=REMAIN_LENGTH AND BRO_DATE BETWEEN START_DATE AND END_DATE AND PR.SALE_ID=SALE.SALE_ID),0) PRICE, REMAIN_LENGTH,SALE.SALE_ID,SALE_NAME, BRO_DATE FROM AMS_SALE_REMAIN_LENGTH LEN ,AMS_SALE SALE WHERE SALE.SALE_ID=LEN.SALE_ID AND LEN.SALE_ID=1595 AND REMAIN_LENGTH>0 AND bro_date >=TO_DATE('2014-1-1','yyyy-MM-dd') AND bro_date <=TO_DATE('2014-1-7','yyyy-MM-dd')
- 执行效果图:
如果记录中不存在unit_length=REMAIN_LENGTH的数据.还是可以得到一行列名为nvl(price,0),值为0的数据.select nvl(sum(rulescore),0) rule_score from zwjc_graderule where rulecode='FWTD'; 不会报错nvl函数可以作用的数据类型NVL的扩展-NVL2Oracle在NVL函数的功能上扩展,提供了NVL2函数。NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
SELECT NVL((SELECT PRICE FROM AMS_SALE_PRICE PR WHERE UNIT_LENGTH=REMAIN_LENGTH AND BRO_DATE BETWEEN START_DATE AND END_DATE AND PR.SALE_ID=SALE.SALE_ID),0) PRICE, REMAIN_LENGTH,SALE.SALE_ID,SALE_NAME, BRO_DATE FROM AMS_SALE_REMAIN_LENGTH LEN ,AMS_SALE SALE WHERE SALE.SALE_ID=LEN.SALE_ID AND LEN.SALE_ID=1595 AND REMAIN_LENGTH>0 AND bro_date >=TO_DATE('2014-1-1','yyyy-MM-dd') AND bro_date <=TO_DATE('2014-1-7','yyyy-MM-dd')
执行的效果图:
很明显的对比:
NVL2()
如果记录中不存在unit_length=REMAIN_LENGTH的数据.,值为0的数据.如果记录中存在unit_length=REMAIN_LENGTH的数据.,值为8的数据.
nvl函数可以作用的数据类型
注意:两个参数得类型要匹配
- Oracle Nvl()与Nv2()的使用
- oracle nvl函数的使用
- oracle的decode()+nvl()的使用
- oracle的nvl函数的使用解析
- oracle--nvl表达式和distinct的使用
- ORACLE中nvl,nvl2,nullif的使用
- oracle nvl函数的使用与参数可以是sql语句使用说明
- Oracle的Nvl函数
- Oracle的nvl函数
- Oracle的Nvl函数
- 關於Oracle的nvl
- Oracle 的NVL
- oracle的nvl函数
- 【聚焦oracle】ORACLE NVL 和 NVL2 函数的使用
- oracle数据库中nvl使用
- NVL函数的使用
- NVL函数的使用
- 如何使用Oracle的COALESCE函数和nvl函数
- 织梦dede列表调用图集的第一张图片大图原图地址(非缩略图)
- 利用ROWID快速执行关联更新
- Struts1 demo与笔记
- Openstack的python依赖包安装方法
- hdu2795线段树点修改
- Oracle Nvl()与Nv2()的使用
- pongo(英雄会)题解之最少操作次数的简易版
- ARB assembly语言
- 技术男的买房之路
- [Java] JDBC 07 处理可滚动的结果集
- 归并排序
- 进程相关(待完善)
- Delphi 组件撰写常问问题
- http://msdn.microsoft.com/zh-cn/library/system.web.webpages(v=vs.111).aspx