isnull, ifnull, nullif sözlerinin kullanımı şöyledir:
isnull(expr) kullanımı:Eğer expr null ise, isnull() 1 değer döner, aksi takdirde 0 döner. mysql> select isnull(1+1); -> 0 mysql> select isnull(1/0); -> 1 Null değer karşılaştırmaları için = kullanmak genellikle yanlıştır.
isnull() fonksiyonu, is null karşılaştırma operatörü ile bazı aynı özellikleri paylaşır. Sıfır ile ilgili nota bak.
IFNULL(expr1,expr2) kullanımı:
Eğer expr1 NULL değilse, IFNULL()'nin dönüş değeri expr1'dir; Aksi takdirde, expr2 değeri döndürür. IFNULL(), kullanıldığı bağlama bağlı olarak ya bir sayı ya da bir diziyi döndürür.
mysql> IFNULL(1,0) SEÇ; -> 1 mysql> IFNULL(NULL,10) SEÇ; -> 10 mysql> IFNULL(1/0,10) SEÇ; -> 10 mysql> SELECT IFNULL(1/0,'evet');
-> 'evet'
IFNULL(expr1,expr2) için varsayılan sonuç değeri, iki ifadeden daha "jeneri" olup, sırayla STRING, REAL veya TAM SAYI SAYGICI。 İfade tabanlı bir tablo veya MySQL'in, IFNULL()'nin geri dönüş değerini dahili bellekte geçici bir tabloda depolaması gerektiğini varsayaalım: TABLO OLUŞTUR tmp IFNULL(1,'test') AS test SEÇİN; Bu örnekte, test sütunu CHAR(4) tipindendir.
NULLIF(expr1,expr2) kullanımı: Eğer expr1 = expr2 doğrudur, o zaman dönüş değeri NULL olur, aksi takdirde dönüş değeri expr1 olur. Bu, CASE WHEN expr1 = expr2 ile aynıdır O ZAMAN NULL ELSE expr1 END aynı. mysql> SELECT NULLIF(1,1);
-> NULL mysql> NULLIF(1,2) SEÇIN; -> 1 Parametreler eşit değilse, MySQL expr1 değerini iki kez alır.
|