ISNULL (Transact-SQL)

NULL değerini belirtilen değerle değiştirir.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

ISNULL ( check_expression , replacement_value )

Bağımsız değişkenler

  • check_expression
    NULL için denetlenecek ifadedir. check_expression herhangi bir türde olabilir.

  • replacement_value
    check_expression NULL ise döndürülecek ifadedir. replacement_value örtülü olarak check_expresssion türüne dönüştürülebilecek bir türde olmalıdır.

Dönüş Türleri

check_expression ile aynı türü döndürür.

Açıklamalar

NULL değilse check_expression ifadesinin değeri döndürülür; aksi halde, türler farklıysa, örtülü olarak check_expression türüne dönüştürüldükten sonra replacement_value döndürülür.

Örnekler

A.ISNULL'ın AVG ile kullanılması

Aşağıdaki örnek tüm ürünlerin ortalama ağırlığını bulmaktadır. Product tablosunun Weight sütunundaki tüm NULL girişleri 50 değeri ile değiştirmektedir.

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

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

Sonuç kümesi buradadır.

--------------------------

59.79

(1 row(s) affected)

B.ISNULL'ın kullanılması

Aşağıdaki örnekler AdventureWorks2012 şirketindeki tüm özel tekliflerin açıklamasını, indirim yüzdesini, en düşük miktarını ve en yüksek miktarını seçmektedir. Belirli bir teklifin en yüksek miktarı NULL ise, sonuç kümesinde gösterilen MaxQty 0.00 olarak ayarlanır.

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

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

Sonuç kümesi buradadır.

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)

C.Bir WHERE yan tümcesinde NULL değerini arama

NULL değerleri bulmak için ISNULL işlevini kullanmayın. Bunun yerine IS NULL kullanın. Aşağıdaki örnek, ağırlık sütununda NULL olan tüm ürünleri bulmaktadır. IS ve NULL arasındaki boşluğa dikkat edin.

USE AdventureWorks2012;
GO
SELECT Name, Weight
FROM Production.Product
WHERE Weight IS NULL;
GO

USE AdventureWorks2012;
GO
SELECT Name, Weight
FROM Production.Product
WHERE Weight IS NULL;
GO

Ayrıca bkz.

Başvuru

Ifadeler (Transact-sql)

IS null [not] (Transact-sql)

Sistem işlevler (Transact-sql)

NEREDE (Transact-sql)

BİRLEŞİM (Transact-sql)