熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

NULL 小議

2013-11-13 22:11:44  來源: Oracle 

  我們都知道在ORACLE中NULL表示無值或空值在這裡我把自己對NULL的一點體會寫出來與大家交流
  
  有兩種NULL第一種NULL是做為值來賦給其它變量的A =NULL此時NULL與 (兩個連續的單引號)等價第二種NULL是做為關系操作符用的 IS NULL 和 IS NOT NULL在這兩個關系操作符中NULL是不能用 代替的
  
  第一種NULL可以與等號連用如 UPDATE 表名 SET 字段=NULL WHERE ……
  另外在賦值時一定要注意不要在NULL兩邊加上單引號若這樣寫
  V_A :=NULL;
  則 V_A 就是一個個字符的字符串了
  
  對於一個變量的值做判斷時如果變量為空值則除了 IS NULL 和 IS NOT NULL 兩種判斷外其它判斷(如 =><等)的結果都是假但有一種情況可以包含進來比如當變量V_A的值為A做 語句否則做 語句這樣就可以寫為
  
  IF V_A = A THEN 語句
  ELSE 語句
  END IF;
  
  這時V_A 為空時也會執行 語句但反過來寫就是錯的
  
  IF V_A != A THEN 語句
  ELSE 語句
  END IF;
  
  這時V_A 為空時還會執行 語句
  
  在計算一個number字段 A 的SUM時若有的記錄此字段為空則用 SUM(A) 來求和時會忽略這樣的記錄
  在計算一個number字段 A 的COUNT時若有的記錄此字段為空則用 COUNT(A) 來計數時不會忽略這樣的記錄也會把這樣的記錄統計進來
  
  在用 LIKE % 來匹配時空值不會被匹配因為%表示任意多個字符但不包括沒有任何字符
  
  對空值的轉換用 nvl函數來完成NVL(A) 當A為空時返回否則為變量A的值
  
  以上總結難免掛一漏萬能懇請網友多多指正與補充!
From:http://tw.wingwit.com/Article/program/Oracle/201311/18435.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.