1. 程式人生 > >ISNULL()、NVL()、IFNULL()、COALESCE()

ISNULL()、NVL()、IFNULL()、COALESCE()

我們使用如下 SELECT 語句:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)FROM Products

在上面的例子中,如果有 “UnitsOnOrder” 值是 NULL,那麼結果是 NULL。
微軟的 ISNULL() 函式用於規定如何處理 NULL 值。
NVL(), IFNULL() 和 COALESCE() 函式也可以達到相同的結果。
在這裡,我們希望 NULL 值為 0。
下面,如果 “UnitsOnOrder” 是 NULL,則不利於計算,因此如果值是 NULL 則 ISNULL() 返回 0。

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))FROM Products

我們如何選取在 “Address” 列中不帶有 NULL 值的記錄呢?
我們必須使用 IS NOT NULL 操作符:

SELECT LastName,FirstName,Address FROM PersonsWHERE Address IS NOT NULL	//或者Adress != 'NULL'