Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Belirtilen yenileme değeriyle değiştirilir NULL .
Transact-SQL söz dizimi kuralları
Sözdizimi
ISNULL ( check_expression , replacement_value )
Arguments
check_expression
Kontrol edilecek NULL.
check_expression her türden olabilir.
replacement_value
Eğer check_expression döndürülecek ifade, 'dir.NULL
replacement_value , check_expression türüne örtük olarak dönüştürülebilir bir türde olmalıdır.
Dönüş türleri
check_expression ile aynı türden döner. Eğer bir literal NULLcheck_expression olarak sağlanırsa, ISNULLreplacement_value'nin veri tipi döner. Eğer bir kelime NULLharbi check_expression olarak sağlanırsa ve replacement_value verilmezse, ISNULLbir iç döner.
Açıklamalar
check_expression değeri dönerse döner.NULL Aksi takdirde, replacement_value türleri farklıysa, örtük olarak check_expression türüne dönüştürüldükten sonra geri döner.
replacement_valuereplacement_valuecheck_expression'dan uzundaysa kısaltılabilir.
Uyarı
İlk sıfır olmayan değeri döndürmek için COALESCE kullanın.
Örnekler
Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.
A. AVG ile ISNULL kullanın
Aşağıdaki örnek, tüm ürünlerin ağırlığının ortalamasını bulmaktadır. Tablonun sütunundaki 50 tüm NULL girişlerin Weight değerini Product değiştirir.
USE AdventureWorks2022;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO
Sonuç kümesi aşağıdadır.
59.79
B. ISNULL kullanın
Aşağıdaki örnek, tüm özel teklifler için açıklama, indirim yüzdesi, minimum miktar ve maksimum miktarı seçer AdventureWorks2025. Belirli bir özel teklif NULLiçin maksimum miktar ise, MaxQty sonuç kümesinde gösterilen miktar 'dir.0.00
USE AdventureWorks2022;
GO
SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity'
FROM Sales.SpecialOffer;
GO
Sonuç kümesi aşağıdadır.
| Description | DiscountPct | MinQty | Maksimum Miktar |
|---|---|---|---|
No Discount |
0,00 | 0 | 0 |
Volume Discount 11 to 14 |
0.02 | 11 | 14 |
Volume Discount 15 to 24 |
0.05 | 15 | yirmi dört |
Volume Discount 25 to 40 |
0.10 | Yirmi beş | 40 |
Volume Discount 41 to 60 |
0.15 | 41 | 60 |
Volume Discount over 60 |
0,20 | 61 | 0 |
Mountain-100 Clearance Sale |
0,35 | 0 | 0 |
Sport Helmet Discount-2002 |
0.10 | 0 | 0 |
Road-650 Overstock |
0,30 | 0 | 0 |
Mountain Tire Sale |
0,50 | 0 | 0 |
Sport Helmet Discount-2003 |
0.15 | 0 | 0 |
LL Road Frame Sale |
0,35 | 0 | 0 |
Touring-3000 Promotion |
0.15 | 0 | 0 |
Touring-1000 Promotion |
0,20 | 0 | 0 |
Half-Price Pedal Sale |
0,50 | 0 | 0 |
Mountain-500 Silver Clearance Sale |
0.40 | 0 | 0 |
Aşağıdaki örnekISNULL, bir değeri , NULLiçin bir diziyle Colordeğiştirmek None için kullanılır.
USE AdventureWorks2022;
GO
SELECT ProductID,
Name,
ProductNumber,
ISNULL(Color, 'None') AS Color
FROM Production.Product;
Kısmi bir sonuç kümesi aşağıdadır.
| ProductID | İsim | Ürün Numarası | Renk |
|---|---|---|---|
| 1 | Adjustable Race |
AR-5381 | Hiç kimse |
| 2 | Bearing Ball |
BA-8327 | Hiç kimse |
| 3 | BB Ball Bearing |
BE-2349 | Hiç kimse |
| 4 | Headset Ball Bearings |
BE-2908 | Hiç kimse |
| 316 | Blade |
BL-2036 | Hiç kimse |
| 317 | LL Crankarm |
CA-5965 | Black |
| 318 | ML Crankarm |
CA-6738 | Black |
| 319 | HL Crankarm |
CA-7457 | Black |
C. WHERE maddesinde test NULL
Değerleri bulmak ISNULL için kullanmaNULL. Bunun yerine IS NULL kullanın. Aşağıdaki örnek, ağırlık sütununda olan tüm ürünleri NULL bulur. ile ISarasındaki NULL boşluğa dikkat edin.
USE AdventureWorks2022;
GO
SELECT Name, Weight
FROM Production.Product
WHERE Weight IS NULL;
GO
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
D. AVG ile ISNULL kullanın
Aşağıdaki örnek, örnek tablodaki tüm ürünlerin ağırlık ortalamasını bulmaktadır. Tablonun sütunundaki 50 tüm NULL girişlerin Weight değerini Product değiştirir.
-- Uses AdventureWorksDW
SELECT AVG(ISNULL(Weight, 50))
FROM dbo.DimProduct;
Sonuç kümesi aşağıdadır.
52.88
E. ISNULL kullanın
Aşağıdaki örnek, sütundaki değerleri test etmek ve bu satırlar için değeri ISNULL göstermek için kullanılır NULLMinPaymentAmount.0.00
-- Uses AdventureWorks
SELECT ResellerName,
ISNULL(MinPaymentAmount,0) AS MinimumPayment
FROM dbo.DimReseller
ORDER BY ResellerName;
Kısmi bir sonuç kümesi aşağıdadır.
| Bayi Adı | Asgari Ödeme |
|---|---|
| Bir Bisiklet Derneği | 0.0000 |
| Bir Bisiklet Mağazası | 0.0000 |
| Bir Bisiklet Dükkanı | 0.0000 |
| Harika Bir Bisiklet Şirketi | 0.0000 |
| Tipik bir bisiklet dükkanı | 200.0000 |
| Kabul Edilebilir Satış ve Hizmet | 0.0000 |
F. WHERE cümlesinde NULL için test etmek için IS NULL kullanın
Aşağıdaki örnek, sütunda NULL olan tüm çarpımları Weight bulur. ile ISarasındaki NULL boşluğa dikkat edin.
-- Uses AdventureWorksDW
SELECT EnglishProductName, Weight
FROM dbo.DimProduct
WHERE Weight IS NULL;