您的位置:首页 > 其它

润乾报表分析3-巧用空值判断nvl

2008-03-29 07:51 531 查看

表达式中,经常需要用到空值判断,例如在单元格的显示值属性中,判断当单元格的值


为空时,显示为0,否则显示单元格的真实值,等等。一般这种情况下,用户习惯写的表达


式是: if(value()==null, 0, value())。


如果我们把value() 换成更加复杂的表达式, 例如if(ds1.select1(…)==null, 0,


ds1.select1(…)),大家可以看出,这种算法明显很慢,需要把ds1.select1(…)这样的复杂表达


式运算两次,而如果采用nvl()则可以避免这个问题。


单元格函数:nvl()


函数说明:


根据第一个表达式的值是否为空,若为空则返回指定值


语法:


nvl( valueExp1, valueExp2 )


参数说明:


valueExp1 需要计算的表达式,其结果不为空时返回其值


valueExp2 需要计算的表达式,当valueExp1 结果为空时返回此值


返回值:


valueExp1 或valueExp2 的结果值


示例:


例1:nvl(A1,"") 表示当A1 为空时,返回空串,否则返回A1


例2:nvl(value(),0) 表示当当前格为空时返回0,否则返回当前格的值


应用举例:


正确写法,速度快 错误写法,速度慢


√ Nvl(ds1.select1(…), 0) Х if(ds1.select1(…)==null, 0, ds1.select1(…))




√ nvl(a1[……]...{……}, “--”) Х if(a1[……]...{……}==null, “--”, a1[……]...{……})


……. ……….
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: