將null的欄位轉換成0,已利於計算
常常我們會利用某些欄位去做加減,做出運算欄位。但若是這個欄位一個是空白 一個是5 ,則當我們相加時會呈現null,但我們所希望的應該是5
因此我們通常會透過sql 將null 值轉換為 0 這樣便可以相加
MS SQL中我們可以利用ISNULL來判定是否為null值。如下
select ISNULL(A,0) From Atable
這時候變會解是為當A=null 時 將其值設為 0
也可以是一個運算組合若 (sum(SD_QTY)+sum(GIFT_QTY)-sum(OUT_QTY) == null 則將其設為0
select ISNULL((sum(SD_QTY)+sum(GIFT_QTY)-sum(OUT_QTY)),0) from SALE_ORDER a,SALE_ORDER_D b
若我們並不是只判斷null則需要透過 case when
下面這個就是再說假設我搜尋出來沒有資料(count = 0 ) 則我將AcaseWhen這個欄位 = 0 ,
若有資料則將AcaseWhen 設成A欄位的總和
Select (case when COUNT(*)=0 then 0 else SUM(A) end)from table as AcaseWhen