oracle nvl函数

关于oralce nvl函数,博客园中已经有很多人写过,但是没有人说过nvl函数能把null转为自己设置好的值的前提。

select * from table  where id=condition ;如果能查出的结果不为空,只是中的某列为空,比如name没有值,

那么select nvl(name,'value') from table where id=condition 是可以将null转为对应的value。

如果在返回结果是空的情况下,仍然想要这么用,那就需要再做一次nvl了。select nvl((select nvl(name,'value') from table where id=condition ),'value2') from dual ;

举一个业务场景,查询客户昨日收益,如果昨日没有收益,且数据库没有昨日收益数据,那么可以使用上面的语句。

本人有一个疑惑就是这样做是否合适,希望知道的朋友能告诉我。

原文地址:https://www.cnblogs.com/maoyao/p/7344661.html