精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

SQL NULL 函數

sql null 函數

用來判斷字段的值是否為 null,包括:isnull()、nvl()、ifnull() 和 coalesce() 函數。

請看下面的 "products" 表:

p_id productname unitprice unitsinstock unitsonorder
1 jarlsberg 10.45 16 15
2 mascarpone 32.56 23
3 gorgonzola 15.67 9 20

假如 "unitsonorder" 是可選的,而且可以包含 null 值。

我們使用下面的 select 語句:

select productname,unitprice*(unitsinstock+unitsonorder) from products

在上面的范例中,如果有 "unitsonorder" 值是 null,那么結果是 null。

微軟的 isnull() 函數用于規定如何處理 null 值。

nvl()、ifnull() 和 coalesce() 函數也可以達到相同的結果。

在這里,我們希望 null 值為 0。

下面,如果 "unitsonorder" 是 null,則不會影響計算,因為如果值是 null 則 isnull() 返回 0:

 

1. sql server / ms access

select productname,unitprice*(unitsinstock+isnull(unitsonorder,0)) from products

 

2. oracle

oracle 沒有 isnull() 函數。不過,我們可以使用 nvl() 函數達到相同的結果:

select productname,unitprice*(unitsinstock+nvl(unitsonorder,0)) from products

 

3. mysql

mysql 也擁有類似 isnull() 的函數。不過它的工作方式與微軟的 isnull() 函數有點不同。

在 mysql 中,我們可以使用 ifnull() 函數,如下所示:

select productname,unitprice*(unitsinstock+ifnull(unitsonorder,0)) from products

或者我們可以使用 coalesce() 函數,如下所示:

select productname,unitprice*(unitsinstock+coalesce(unitsonorder,0)) from products
相關文章