oracle中NULL的使用和优化

     除了is null,is not null外,对null的任何操作结果还都是null;
oracle中要注意null的相关and和or操作
   AND操作:null and true=null,null and false=false,null and null=null
    or:  null or true=true null or false=false,null or null=null
   not null的值依然是null,因为null表示不确定,无论null为true还是FALSE,始终最

后不确定,为null.
  注意的是:oracle 把null当作varchar2来处理
  ' '空字符串其实是null的字符类型的表现格式。
   btree索引是不存储null值的,而位图索引是存储NULL值的,而如果复合索引中,如果

包含null值,也是可以的,只要有一个索引列不为空;如果是单列索引,IS NULL是肯定

不能使用索引的了,但IS NOT NULL可以。
  大多数函数,如果输入为NULL,则输出也为null.NVL,NVL2,DECODE例外,它们在输入参

数为NULL的时候,结果可能不是NULL,如果这些输入参数均为NULL,则肯定为NULL,如果

不全为NULL,结果可能不是NULL。
  聚集函数不会处理null值,不管为max,min,avg还是sum.

posted @ 2012-02-20 15:58  sky7034  阅读(613)  评论(0编辑  收藏  举报
蘑菇街女装 货运专家