oracle中NVL()和NVL()2函数的作用和区别

一、NVL()函数

1、语法:NVL(expr1,expr2);

2、含义:如果expr1值为空,就返回expr2;

3、例:

	select t.name_sub,nvl(name_sub,'空值') sub from product_spu t;

运行效果如下:

  如图可以看出空数据被“空值”替换了。

二、NVL2()函数

1、语法:NVL2(expr1,expr2,expr3);

2、含义:如果expr1值为空,就返回expr2,否则就返回expr3(类似与java的三元表达式);

3、例:

	select t.name_sub,nvl2(name_sub,'厂家直销','空值') sub from product_spu t;
运行效果如下:


如上图可以看出非空数据被“厂家直销”代替,空数据被“空值”代替。

猜你喜欢

转载自blog.csdn.net/qq_33157666/article/details/78378920