一、nvl(exp1,exp2)
--如果第一个参数的值不为看空,则返回第一个参数的值;否则,返回第二个参数的值。
sql> select nvl(1000,12) from dual;
nvl(1000,12)
------------
1000
sql> select nvl(null,12) from dual;
nvl(null,12)
------------
12
二、nvl2(exp1,exp2,exp3)
--如果第一个参数的值非空,返回第二个参数的值;否则,返回第三个参数的值。
sql> select nvl2(12,1,-1) from dual;
nvl2(12,1,-1)
-------------
1
sql> select nvl2(null,1,-1) from dual;
nvl2(null,1,-1)
---------------
-1
三、nullif(exp1,exp2)
--如果exp1与exp2相等,则返回空;否则,返回exp1。
sql> select nullif(12,12) from dual;
nullif(12,12)
-------------
sql> select nullif(12,2) from dual;
nullif(12,2)
------------
12
四、coalesce(exp1,exp2,exp3,.......expn)
--功能与nvl相似,只不过他表示exp1为空则看exp2,否则返回exp1;同理,如果exp2也为空,返回exp3,否则,返回xep2;。。。。
sql> select coalesce(null,3,4,null) from dual;
coalesce(null,3,4,null)
-----------------------
3
sql> select coalesce(null,null,4,null) from dual;
coalesce(null,null,4,null)
--------------------------
4
如对本文有疑问, 点击进行留言回复!!
Oracle 基本概念 Dadabase,schema,user,table...
dbeaver连接Oracle中文乱码的解决方案--druid
Oracle常用语句(时间格式、去重、去特殊符号、查询表空间等)
Navicate 如何导出数据库中的存储过程、事件、视图等?
每日一记:Oracle升级2020年4月份的数据库补丁Database Patch Set Update : 11.2.0.4.200414 (30670774)
Oracle 19.3 dataguard for Redhat 7.6
网友评论