oracle中NVL函数的使用

NVL:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

例如:下面返回的是123

select nvl('123','456') from dual

又例如:下面返回的是456

select nvl(null,'456') from dual

其实可以把这个函数当作默认值的一个处理,例如上面的sql,可以理解为默认一个值为456

 

 

其他两个函数

================================================================================

NVL2:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参

例如:下面返回222

select nvl2('111','222','333') from dual

又例如:下面返回333

select nvl2(null,'222','333') from dual

 

 

NULLIF:如果exp1和exp2相等则返回空(NULL),否则返回第一个值

例如:下面返回一个空值

select NULLIF('111','111') from dual

又例如:下面返回111

select NULLIF('111','1111') from dual

而且两个值的数据类型要一致,不然会报错

 

 

参考:https://www.cnblogs.com/zrui-xyu/p/4819712.html

posted @ 2021-01-05 09:36  masha2017  阅读(1581)  评论(0编辑  收藏  举报