关于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 ;
举一个业务场景,查询客户昨日收益,如果昨日没有收益,且数据库没有昨日收益数据,那么可以使用上面的语句。
本人有一个疑惑就是这样做是否合适,希望知道的朋友能告诉我。