null(空值)小結

hai503發表於2014-10-31

null不是個好東西,離它遠點...

 

1.null與聚合函式

count()與null

   count(null)結果為0; 如果這一列全部為null,用count算出來結果是0
   count(column1) 結果為不含有null的column1的個數
   count(nvl(column1,0)) 結果為所有行(包括null)
                
sum()與null

   sum(null)結果為null; 
   如果這一列全部為null,用sum算出來結果也是null
   如果這列不全為null,用sum來計算直接排除空行

avg(), max(), min()與sum()相同

提示:善用 nvl(column1,0)
 


2.null與+-*/(計算)

null參與的計算,結果都是null.null可以作為除數.
  
   SQL> SELECT NULL + 10, NULL - 10, NULL * 10, NULL / 10 FROM dual;
 
   NULL+10    NULL-10    NULL*10    NULL/10
   ---------- ---------- ---------- ----------
   SQL> SELECT 10 / NULL FROM dual;
   
   10/NULL
   ----------
   
   SQL>

提示:還是好用的 nvl(column1,0)
  
   

3.null與關係運算子
  
   where column1 = null 這是一個永遠為假的條件(注意和is null有區別)
  
   where column1 <> null 這也是一個永遠為假的條件.
  
null和任何條件相比都永遠為假.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12707874/viewspace-1315997/,如需轉載,請註明出處,否則將追究法律責任。

相關文章