دالتا 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 عندما تكون هناك فروع أكثر.
التحدي
سهلالجداول والأعمدة المتاحة:
matches:id،shots،goals
لكل مباراة، أرجِع:
idconversion:goals * 1.0 / shots، ولكنNULLعندما تكون قيمةshotsهي0(استخدمNULLIF)verdict:'win'عندما تكونgoals > 0، وإلا'no goals'(استخدمIIF)
رتّب حسب id.
جرّب بنفسك
SELECT id,
-- تحويل باستخدام NULLIF
-- حكم باستخدام IIF
FROM matches
ORDER BY id
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس ما وراء الأساسيات
1المنطق الشرطي
CASE WHENاستخدام CASE في ORDER BYدالة COALESCE للتعامل مع قيم NULLدالتا NULLIF و IIFمراجعة - الحضورتدرّب بنفسك: Playground لـ SQL