Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

دالتا NULLIF و IIF

جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy — الدرس 4 من 27.

مساعدان شرطيان إضافيان، كلاهما صغير ومفيد.

تُرجع NULLIF(a, b) القيمة NULL عندما يكون a = b، وإلا فإنها تُرجع a. الاستخدام الكلاسيكي لها هو الحماية من القسمة على صفر:

SELECT total / NULLIF(count, 0) AS average
FROM stats

إذا كانت count تساوي صفراً، فسنحصل على NULL بدلاً من حدوث خطأ.

IIF(cond, a, b) هو اختصار لفرعين لـ CASE WHEN cond THEN a ELSE b END. استخدمه عندما يكون الخيار ثنائياً؛ واستخدم CASE عندما يكون هناك المزيد من الفروع.

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <strong>matches</strong>: <strong>id</strong>, <strong>shots</strong>, <strong>goals</strong>

لكل مباراة، قم بإرجاع ما يلي:

  • id
  • conversion: goals * 1.0 / shots، ولكن NULL عندما تكون shots هي 0 (استخدم NULLIF)
  • verdict: 'win' عندما تكون goals > 0، وإلا 'no goals' (استخدم IIF)

الترتيب حسب id.

ورقة مرجعية

NULLIF(a, b) تُرجع NULL عندما يكون a = b، وإلا فإنها تُرجع a. مفيدة لتجنب القسمة على صفر:

SELECT total / NULLIF(count, 0) AS average
FROM stats

IIF(cond, a, b) هي اختصار لتعبير CASE بفرعين:

SELECT IIF(goals > 0, 'win', 'no goals') AS verdict
FROM matches

جرّب بنفسك

SELECT id,
       -- تحويل باستخدام NULLIF
       -- القرار باستخدام IIF
FROM matches
ORDER BY id
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس ما وراء الأساسيات