logo

SQL Server ISNULL İşlevi

SQL Server'da yerleşik bir işlevdir. Kullanıcının şunları yapmasına olanak tanır: NULL değerlerini değiştir belirli bir değiştirme değeriyle. Bu makale, ifade veya tablo kayıtlarının NULL değerlerine sahip olması durumunda alternatif bir değer döndürmek için ISNULL işlevine ilişkin eksiksiz bir genel bakış sunar.

java program döngüsü

Sözdizimi

Aşağıda ISNULL işlevini gösteren bir sözdizimi verilmiştir:

 ISNULL ( Expression, Replacement ) 

Gördüğümüz gibi bu sözdizimi yalnızca iki argümanı kabul ediyor:

    İfade: NULL olup olmadığını kontrol etmek için kullanılır. Her türden olabilir.Yenisiyle değiştirme: İfade NULL olduğunda döndürülecek değerdir. İfade türünün bir değerine örtülü olarak dönüştürülebilir olmalıdır.

İfade NULL olarak değerlendirilirse, bu işlev NULL değerini değiştirme değeriyle değiştirir. Tartışma ne zaman veri türleri farklı , SQL sunucusu değiştirme değeri veri türünü örtülü olarak ifade veri türüne dönüştürür bir değer döndürmeden önce. İfade NULL olmadığında ifade değerini alacağız.

ISNULL işlevi SQL Server (2008'den başlayarak), Paralel Veri Ambarı, Azure SQL Veritabanı ve Azure SQL Veri Ambarı'nda çalışabilir.

ISNULL İşlev Örneği

ISNULL fonksiyonunu SQL Server'daki bazı örneklerle inceleyelim.

1. Sayısal değere sahip ISNULL işlevi

Aşağıdaki örnekte ISNULL işlevi kullanılmaktadır. Burada ilk argüman NULL'dur; bu nedenle sonuçtaki ikinci argümanın değerini döndürür:

 SELECT ISNULL(NULL, 25) AS Result; 

Çalıştırdıktan sonra aşağıdaki çıktıyı alacağız:

SQL Server ISNULL İşlevi

2. Karakter dizisi verileriyle ISNULL işlevi

Aşağıdaki örnekte ISNULL işlevi kullanılmaktadır. Burada string değerini alacağız 'Merhaba' çünkü bu ilk argümandır. ISNULL() işlevi tanımından itibaren, NULL DEĞİLSE ilk argüman değerini döndürür:

 SELECT ISNULL('Hello', 'Javatpoint') AS Result; 

Çalıştırdıktan sonra aşağıdaki çıktıyı alacağız:

SQL Server ISNULL İşlevi

3. Değişkenlerle ISNULL işlevi

Aşağıdaki örnek ISNULL işlevini kullanıyor ve sonucu bir değişken kullanarak döndürüyor:

 DECLARE @expres VARCHAR(45); DECLARE @value VARCHAR(25); SET @expres = NULL; SET @value = 'Javatpoint'; SELECT ISNULL(@expres, @value) AS Result; 

Çalıştırdıktan sonra aşağıdaki çıktıyı alacağız:

SQL Server ISNULL İşlevi

4. Tablodaki ISNULL Fonksiyonu

Burada, boş değerler içerdiğinde bir sütun değerini nasıl anlamlı bir değerle değiştirebileceğimizi göreceğiz. Öncelikle 'adlı bir tablo oluşturalım' Çalışan' aşağıdaki ifadeyi kullanarak:

 CREATE TABLE Employee (ID INT IDENTITY PRIMARY KEY, Emp_Name VARCHAR(50) NOT NULL, Age INT NULL, Salary INT NULL ); 

Şimdi aşağıdaki ifadeyi kullanarak bu tabloya bazı değerler ekleyeceğiz:

 INSERT INTO Employee (Emp_Name, Age, Salary) VALUES ('Kevin Huges', 28, 45000), ('Rose Bennet', NULL, 36000), ('Peter Butler', 25, NULL); 

Tabloyu doğruladığımızda şunu görebiliriz. çalışan 2 ve 3'ün NULL'u var değer.

SQL Server ISNULL İşlevi

Bu sütunların NULL değerlerini tabloda kalıcı olarak güncellemeden değiştirmek istediğimizi varsayalım. Bu durumda NULL değerlerini belirli bir değerle değiştirmek için ISNULL işlevini kullanabiliriz.

Örneğin , geri dönmek istiyoruz yaş Ve maaş Çalışan tablosunda sütunları NULL değerlere sahipse sırasıyla 22 ve 25000 ile çalışanın sayısı. Bunu aşağıdaki ifadeyi kullanarak yapabiliriz:

 SELECT ID, Emp_Name, ISNULL(Age, 22) AS Age, ISNULL(Salary, 25000) AS Salary FROM Employee; 

Çalıştırdıktan sonra aşağıdaki çıktıyı alacağız:

SQL Server ISNULL İşlevi

Tabloda hiçbir sütunun NULL değeri olmadığı sütun için sorguyu ISNULL fonksiyonu ile çalıştırırsak bu sorgu satırların gerçek değerlerini döndürecektir.

html'den js işlevini çağırmak

Örneğin , güncelleştirdik maaş olan çalışanın kimlik=2 aşağıdaki gibi:

 UPDATE Employee SET Salary = 65000 WHERE ID=2; 

Yine ISNULL fonksiyonunu çalıştırdığımızda maaş sütunu değişmemektedir. Aşağıdaki çıktıya bakın:

SQL Server ISNULL İşlevi

5. Toplama işlevleriyle ISNULL

SQL Server ayrıca SUM, AVG gibi toplama işlevlerini ISNULL işleviyle kullanmamıza da olanak tanır. almamız gerekebileceğini varsayalım. bir maaş toplamı Çalışan tablosunda bulunan sütun ve herhangi bir maaş sütununda NULL varsa, maaşlar eklenmeden önce bu sütun 25000 ile değiştirilecektir.

Toplama yöntemlerini uygulamadan önce aşağıdaki sorguyu kullanarak çalışan maaşını id'si 2 olan NULL ile güncelleyeceğiz.

 UPDATE Employee SET Salary = NULL WHERE ID=2; 

Aşağıdaki örnekte öncelikle NULL değeri 25000 ile değiştiriliyor ve daha sonra bunun üzerinde SUM fonksiyonu gerçekleştiriliyor. Aşağıdaki çıktıya bakın:

 SELECT SUM(ISNULL(Salary, 25000)) AS Sum_of_Salaries FROM Employee; 

Çalıştırdıktan sonra aşağıdaki çıktıyı alacağız:

SQL Server ISNULL İşlevi

Benzer şekilde ISNULL işlevi, NULL değerlerini değiştirmek ve ardından ortalama değeri döndürmek için kullanılabilir. AVG() işlevi . Aşağıdaki açıklamaya bakın:

 SELECT AVG(ISNULL(Salary, 25000)) AS Avg_of_Salaries FROM Employee; 

Çalıştırdıktan sonra aşağıdaki çıktıyı alacağız:

SQL Server ISNULL İşlevi

SQL Server ISNULL ile IS NULL arasındaki fark

ISNULL ve IS NULL işlevlerinin her ikisi de SQL Server'da farklıdır. ISNULL fonksiyonunu ihtiyacımız olduğunda kullanırız. NULL değerlerini değiştir Belirtilen değerle. Öte yandan IS NULL fonksiyonunu istediğimizde kullanırız. NULL değerleri tanımlayın bir tabloda.

Farklılıklarını göstermek için aşağıdaki örneği görelim. .

Çalışan verilerini 'den almak istediğimizi varsayalım. Çalışan' Maaş sütununda NULL değerleri içeren tablo. Bu tür bilgileri elde etmek için IS NULL fonksiyonunu kullanmalıyız. NEREDE maddesi şu şekilde:

 SELECT * FROM Employee WHERE Salary IS NULL; 

Maaşı NULL olan çalışanın ayrıntısını döndürecektir:

SQL Server ISNULL İşlevi

Şimdi bu tip bilgileri ISNULL fonksiyonu ile almaya çalışırsak SQL Server aşağıdaki yollardan geçer. hata :

 SELECT * FROM Employee WHERE Salary ISNULL(NULL, 0; 

İşte hata:

SQL Server ISNULL İşlevi

Bu nedenle, SQL Server'ın NULL değerlerini bulmak için ISNULL'u kullanmamıza izin vermediği açıktır.