ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 报表传参数问题

报表传参数问题

原创 Linux操作系统 作者:leexiaodong 时间:2009-08-14 14:11:13 0 删除 编辑

在开发销售帐期分析表的时候,发现有部分数据明明是有的,参数传空的时候就抓不出来。百思不得其解

 

如果报表参数不是必输的情况下,一般我们都会有2种写法:

and  (p_district   is   null   or   hz.territory_id=p_district)
 或者

and  hz.territory_id=  nvl(  p_district,    hz.territory_id)

 

2种写法看似一样,其实跑出来的结果很可能不一样。

我在报表采用的是nvl写法,后来改成 or 就都抓出来了。

原因是,当 hz.territory_id 本身为 null 的情况,nvl 写法就是 false 了,就会抓不出数据来。

所以当hz.territory_id 确定以及肯定不会有null的情况,2种写法都ok

 如果是hz.territory_id 有可能为 null,那么就最好采用 or 的写法

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/67253/viewspace-612335/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-13

  • 博文量
    64
  • 访问量
    108192