oracle+账号给锁定GROUP FUNCTION对NULL值的处理

GROUP FUNCTION对NULL值的处理

 

 Group functions ignore null  values in the   column (组oracle账号函数忽略NULL值)

如下:

SQL> select count(*)   from  employees;

  COUNT(*)

     ———-

       107

 

SQL> select count(commission_pct)  from employees;

COUNT(COMMISSION_PCT)

            ———————

                   35

在employees表中有107行,但非null值的commission_pct列只有35行。

 

SQL> select avg(commission_pct)  from  employees;

AVG(COMMISSION_PCT)

           ——————-

         .222857143

 

SQL> select avg(nvl(commission_pct,0))  from  employees;

AVG(NVL(COMMISSION_PCT,0))

        ————————–

                .072897196

通过对比两次求平均值的结果,可以看出group function在计算时,对null值是丢弃的。

还有个注意点:你不能在where 子句中使用group function,因为where子句先执行。

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。