oracle数据库计算表中有一行数据的某个值为空时的问题

在 oracle数据库中,当表中有一行数据的某个值为空时,则后面的计算都会等于空
例如:在下面的计算中,当奖金系数为空时,那一年的总工资应该为:
一个月的工资12 + 奖金系数一个月的工资12 ; 既使奖金系数一个月的工资12为零,
总工资也应该为一个月的工资
12 才对,但结果却为零.
这是因为是无效的,未指定的,未知的或不可预知的值而不是空格或者0,
在这里插入图片描述
而NVL 函数则可以将空值转换成一个已知的值而它可以使用的数据类型有日期、字符、数字。
它的一般形式: NVL(commission_pct,0)

例子:

从上面的截图可以看出用了.当奖金系数为空时,则赋值为0,这样它一年的总工资就不为空了

下面是一些有关nvl的一些函数

–这些函数适用于任何数据类型,同时也适用于空值:
NVL (expr1, expr2)
NVL2 (expr1, expr2, expr3)
NULLIF (expr1, expr2) COALESCE (expr1, expr2, …, exprn)

例子:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44550873/article/details/88045578