請看下面的 "products" 表:
p_id
productname
unitprice
unitsinstock
unitsonorder
1computer
69925152
printer
36536
3telephone
28015957
假如 "unitsonorder" 是可選的,而且可以包含 null 值。
我們使用如下 select 語句:
select productname,unitprice*(unitsinstock+unitsonorder)在上面的例子中,如果有 "unitsonorder" 值是 null,那麼結果是 null。from products
微軟的 isnull() 函式用於規定如何處理 null 值。
nvl(), ifnull() 和 coalesce() 函式也可以達到相同的結果。
在這裡,我們希望 null 值為 0。
下面,如果 "unitsonorder" 是 null,則不利於計算,因此如果值是 null 則 isnull() 返回 0。
select productname,unitprice*(unitsinstock+isnull(unitsonorder,0))oracle 沒有 isnull() 函式。不過,我們可以使用 nvl() 函式達到相同的結果:from products
select productname,unitprice*(unitsinstock+nvl(unitsonorder,0))mysql 也擁有類似 isnull() 的函式。不過它的工作方式與微軟的 isnull() 函式有點不同。from products
在 mysql 中,我們可以使用 ifnull() 函式,就像這樣:
select productname,unitprice*(unitsinstock+ifnull(unitsonorder,0))或者我們可以使用 coalesce() 函式,就像這樣:from products
select productname,unitprice*(unitsinstock+coalesce(unitsonorder,0))from products
SQL的學習筆記 判空時賦值
sql做統計查詢時,經常需要在分組之後統計另乙個欄位的總數。這是往往會遇到count 待統計字段 結果為null的情況。如果直接將結果null傳送給呼叫者,對方會很難處理。於是需要在傳出判斷 若為空,則傳0。要實現這一功能,可使用isnull函式。函式呼叫方式 isnull 需要進行判空的數值,希望...
Velocity判空的方法
前端使用velocity,經常會遇到判斷是否為null的情景,通常判斷是否為null有下面幾種方法 1.if foo 判斷 foo為空,判斷非空為 if foo 2.使用 ifnull 或 ifnotnull ifnull foo 要使用這個特性必須在velocity.properties檔案中加入...
注意C Vector 的判空
在乙個 n m 的二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,1...