nvl()函数个人感觉说白了就是一个替换函数,将null的数据替换成想要的数据。
nvl()函数的格式为
注:old_string和new_string类型必须为同一种数据类型,除非显示的使用TO_CHAR函数。如:nvl(to_char(numeric),string),其中numeric为数字类型;
举个例子吧(拿Oracle数据库中的EMP表举例):
第一步,我们先看看emp表
可以得到以下结果
我们可以从以上查询的结果看到comm列中的数据有很多是没有值的,也就是所谓的空值null。
comm列是奖金列,奖金的发放只有两种情况有或是没有,没有的情况下我们用0代替,因为发0元奖金也就是没有发的意思。
第二步,将comm列中为空的数据填补成0.
执行,得到以下结果