oracle的nvl和nvl2是啥函数,两者区别是啥呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle的nvl和nvl2是啥函数,两者区别是啥呢相关的知识,希望对你有一定的参考价值。
参考技术Aoracle的NVL函数的功能室如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
NVL(E1,E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。但此函数有一定局限,所以就有了NVL2函数。
NVL2函数的格式如下:NVL2(expr1,expr2,expr3)
含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。
NVL2函数:Oracle/PLSQL中的一个函数,NVL2(E1,E2,E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
扩展资料:
NVL函数的功能是实现空值的转换,根据第一个表达式的值是否为空值来返回响应的列名或表达式,主要用于对数据列上的空值进行处理,语法格式如:NVL(string1,replace_with)
如果第一个参数的值为空值,则返回第二个参数的值,否则返回第一个参数的值。如果两个参数的值都为空值,则返回空值。
第一个参数和第二个参数可以是任何类型的数据,但两个参数的数据类型必须相同(或能够由Oracle隐式转换为相同的类型)。
参考资料来源:百度百科--nvl函数
Oracle中nvl函数的用法和作用是啥?
参考技术A用法:查询不相等数据
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值
用法:如果是空值就替换成另一个值如nvl(字段,‘x’)字段值等于null就这个函数得到的结果就是'x',一般用于存在空值比较的情况下,比如字段a与字段b都是int型,其中一个等于null另一个为非空值,你使用a<>b是不成立的。
使用此条件查询你将丢失这条本来不相等的数据,可以如此用法nvl(字段,-1)<>nvl(字段,-1),这样就可以得到想要查询的数据,当然查询数据的前提是此字段值不能有-1值才能用这种写法
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,例:nvl(yanlei777,0) > 0NVL(yanlei777, 0) 的意思是 如果 yanlei777 是NULL, 则取0值通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值。
以上是关于oracle的nvl和nvl2是啥函数,两者区别是啥呢的主要内容,如果未能解决你的问题,请参考以下文章