NULL值导致的排序异常

一、NULL值导致的排序异常

如果begintime,有null值,那么排序是会有问题,结果会将begintime为空的明细放在报表最前面显示

set v_sql=v_sql||' a4 as (select indcode,begintime,rownumber() over(order by ' || v_orderTag ||') as tag4 from session.rst where tag=4),';
  

set v_sql='insert into SESSION.rst(indcode,begintime)'
  || 'with ' || v_sql || ' a as (select * from SESSION.rst)'
  || ' select  a.indcode,a.begintime from a '
  || 'left join a4 on  a.indcode=a4.indcode and coalesce(a.begintime,''2000-01-01'')=coalesce(a4.begintime,''2000-01-01'')' else '' end  

 

二、NULL值导致的计算结果异常

如果sql语句将price字段为查询条件,如果这个字段值为null,那么查询结果中该字段对应的值将不会被计入结果集中。

insert into session.temp(citycode,cityname,tradecode,tradename,sell,tq_sell,sq_sell)
  SELECT c.provcode as citycode,c.provname as cityname,b.tradecode,b.tradename,
       sum(sell_amount) AS sell

          FROM  a , b ,c
         WHERE d_day in(v_beginyearmonth,v_endyearmonth)
                     AND a.c_brand=b.tobacode

                    and a.i_org=c.compcode
                    and b.price<260

                    GROUP BY b.tradecode,b.tradename,c.provcode,c.provname;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值