1、NVL函数
@H_403_13@NVL@H_403_13@函数的格式如下:NVL@H_403_13@(expr1,expr2)
@H_403_13@含义是:【取第一个不为空的参数@H_403_13@】@H_403_13@=>@H_403_13@如果@H_403_13@Oracle@H_403_13@第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值;如果两参数都为空,则显示空。
例:
select nvl('1','2') from dual;
2NVL2函数
@H_403_13@NVL2@H_403_13@函数的格式如下:NVL2@H_403_13@(expr1,expr2,expr3)
@H_403_13@含义是:【与@H_403_13@NVL@H_403_13@有很大的不同】@H_403_13@=>如果该函数的第一个参数不为空那么显示第二个参数的值,如果第一个参数的值为空,则显示第三个参数的值。
例:
select nvl2('1','2','3') from dual;
3NULLIF函数
NULLIF@H_403_13@(exp1,expr2)@H_403_13@函数的作用是如果exp1和exp2相等则返回空(NULL),否则返回第一个值@H_403_13@。
例:
select nullif('1','1') from dual;
4Coalesce函数
@H_403_13@Coalesce@H_403_13@函数的作用与NVL的函数有点相似,取第一个不为空的参数,其优势是有更多的选项@H_403_13@。
@H_403_13@格式如下:
Coalesce@H_403_13@(expr1,expr3... exprn)
@H_403_13@Coalesce@H_403_13@是这样来处理这些参数的。如果第一个参数为空,则看第二个参数是否是空,否则则显示第一个参数,如果第二个参数是空再看第三个参数是否为空,否则显示第二个参数,依次类推。
这个函数实际上是NVL的循环使用
例:
selectcoalesce('1','3','4','5','6')fromdual;