CodeBlanks Logo Icon CodeBlanks

NULLIF

NULLIF ile sıfıra bölmeyi önlemeyi öğrenirsin.

NULLIF

NULLIF(a, b) a ve b eşitse NULL, değilse a döndürür. Sıfıra bölmeyi önlemek için kullanılır.

SELECT total / NULLIF(count, 0) AS ort FROM orders;

Bu sorgu count 0 ise NULL döner; hata vermez.

orders kaynağından total / NULLIF(count, 0) AS ort seçilir.

NULLIF — ayrıntı

NULLIF(x, 0) ile sıfıra bölme hatasını önlersin. COALESCE ile birleştirip 0 yerine başka değer verebilirsin.

Uygulama NULLIF

orders tablosundan total / count hesapla; count 0 ise hata vermesin.

Başlangıç kodu

query.sql
-- sıfıra bölme koruması
SELECT
FROM orders

Örnek çözüm

query.sql
SELECT total / NULLIF(count, 0) AS ort
FROM orders

Beklenen çıktı

ort
100
50

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 NULLIF(a, b) ne zaman NULL döner?

  • a = b ise Doğru cevap
  • a < b ise
  • her zaman
  • a > b ise

Açıklama: NULLIF eşitse NULL döner.

2 Sıfır koruması

Soru
SELECT total / ____(count, 0) FROM orders;
Cevap
SELECT total / NULLIF(count, 0) FROM orders;

Açıklama: NULLIF(count, 0) sayı 0 ise NULL döndürür; böylece sıfıra bölme hatası yerine NULL alırsın.

3 NULLIF: kavramları eşleştir

Kavram Anlamı
NULLIF eşitse NULL
COALESCE ilk dolu
IS NULL kontrol
NULL boş

Başlangıç bölümündeki tüm dersler