Bu bölüm MySQL IFNULL() işlevi hakkında bilgi edinmenize yardımcı olur. IFNULL işlevi, NULL değerlerini işlemek için kullanılan MySQL kontrol akışı işlevinin bir parçasıdır.
IFNULL işlevi iki ifadeyi kabul eder ve eğer ilk ifade geçersiz değil , ilk argümanları döndürür. İlk ifade ise hükümsüz , ikinci argümanı döndürür. Bu işlev, kullanıldığı bağlama bağlı olarak dize veya sayısal değer döndürür.
Sözdizimi
IFNULL işlevini aşağıdaki söz dizimi ile kullanabiliriz:
IFNULL (Expression1, Expression2)
İfade1 boş olmadığında ifade1 değerini döndürür. Aksi takdirde ifade2'yi döndürür.
Parametreler
Parametre | Gereklilik | Açıklamalar |
---|---|---|
İfade 1 | Gerekli | Bu ifade NULL olup olmadığını kontrol etmek için kullanılır. |
İfade 2 | Gerekli | 1 ifadesi NULL olduğunda geri dönecektir. |
MySQL sürüm desteği
IFNULL işlevi aşağıdaki MySQL sürümlerini destekleyebilir:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
Aşağıdaki örneklerle MySQL IFNULL() fonksiyonunu anlayalım. IFNULL fonksiyonunu şu şekilde kullanabiliriz: SEÇME doğrudan beyan.
örnek 1
SELECT IFNULL(0,5);
Yukarıdaki fonksiyonda MySQL ifadesi ilk ifadeyi kontrol eder. İlk ifade NULL değilse, sıfır olan ilk ifadeyi döndürür.
Çıktı:
0
Örnek 2
SELECT IFNULL('Hello', 'javaTpoint');
Yukarıdaki MySQL ifadesi ilk ifadeyi kontrol eder. İlk ifade NULL değilse, ilk ifadeyi döndürür; 'Merhaba' değer.
Çıktı:
Hello
Örnek 3
SELECT IFNULL(NULL,5);
Aşağıdaki MySQL ifadesi ilk ifadeyi kontrol eder. İlk ifade NULL değilse ilk ifadeyi döndürür. Aksi takdirde ikinci ifade olan beş (5) değerini döndürür.
Çıktı:
5
Örnek 4
Burada bir tablo oluşturacağız 'öğrenci_kişileri' ve IFNULL() işlevini gerçekleştirin.
CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, );
Şimdi bir tabloya veri eklemeniz gerekiyor. Değerleri tabloya ekledikten sonra aşağıdaki sorguyu yürütün.
SELECT contactname, cellphone, homephone FROM student_contacts;
Tüm satırları ve sütunları içeren çıktıyı gösterecektir. Burada bazı kişilerin sadece cep telefonu veya ev telefonu numarasına sahip olduğunu görebiliyoruz.
Yukarıdaki çıktıda, tüm kişilerin adlarını, hava durumu cep telefonunu ve ev telefonu numarasının mevcut olup olmadığını alacağız. Dolayısıyla bu durumda IFNULL() işlevi önemli bir rol oynar.
Şimdi aşağıdaki MySQL sorgusunu çalıştırın. Bu ifade şunu döndürür: ev telefonu cep telefonu NULL ise numara.
SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact;
Çıktı:
Yukarıdaki MySQL deyimi başarıyla çalıştırıldığında aşağıdaki çıktıyı verecektir.