ISNULL (Transact-SQL)

以指定的取代值來取代 NULL。

主題連結圖示Transact-SQL 語法慣例

語法

ISNULL ( check_expression , replacement_value )

引數

check_expression

這是要檢查 NULL 的運算式check_expression 可以是任何類型。

replacement_value

這是 check_expression 是 NULL 時所傳回的運算式。replacement_value 必須是能夠隱含地轉換成 check_expresssion 類型的類型。

傳回類型

傳回與 check_expression 相同的類型。

備註

如果 check_expression 值不是 NULL,便傳回這個值;否則,如果類型不同,便在 replacement_value 隱含地轉換成 check_expression 的類型之後,再傳回它。

範例

A. 搭配 AVG 使用 ISNULL

下列範例會尋找所有產品的加權平均值。它會在 Product 資料表的 Weight 資料行中,用值 50 來取代所有 NULL 項目。

USE AdventureWorks;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO

以下為結果集: 

-------------------------- 
59.79                      

(1 row(s) affected)

B. 使用 ISNULL

下列範例會選取 AdventureWorks 中所有特殊供應項目的描述、折扣百分比、最小數量和最大數量。如果所有特殊供應項目的最大數量是 NULL,結果集所顯示的 MaxQty 便是 0.00

USE AdventureWorks;
GO
SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity'
FROM Sales.SpecialOffer;
GO

以下為結果集: 

Description       DiscountPct       MinQty      Max Quantity
---------------   -------------     --------    ---------------
No Discount       0.00              0           0
Volume Discount   0.02              11          14
Volume Discount   0.05              15          4
Volume Discount   0.10              25          0
Volume Discount   0.15              41          0
Volume Discount   0.20              61          0
Mountain-100 Cl   0.35              0           0
Sport Helmet Di   0.10              0           0
Road-650 Overst   0.30              0           0
Mountain Tire S   0.50              0           0
Sport Helmet Di   0.15              0           0
LL Road Frame S   0.35              0           0
Touring-3000 Pr   0.15              0           0
Touring-1000 Pr   0.20              0           0
Half-Price Peda   0.50              0           0
Mountain-500 Si   0.40              0           0

(16 row(s) affected)

請參閱

參考

運算式 (Transact-SQL)
IS [NOT] NULL (Transact-SQL)
系統函數 (Transact-SQL)
WHERE (Transact-SQL)
COALESCE (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助