Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 15127|Yanıt: 0

[Kaynak] IFNULL, NULLIF ve ISNULL kullanımı

[Bağlantıyı kopyala]
Yayınlandı 11.05.2018 13:37:59 | | |
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.






Önceki:Server CPU donanım performans testi
Önümüzdeki:MySQL kullanılarak bir milyondan fazla veri seviyesini işlerken, bilinmesi gereken birkaç sağduyu vardır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com