انتقل إلى محتوى الدرس

Handling NULLs with COALESCE استبدال الفارغ بدالة COALESCE

تعلّم التعبيرات الشرطية CASE و COALESCE وتحويل الأنواع CAST في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

عندما يحتوي عمود على القيمة الفارغة NULL، نحتاج في العمليات الحسابية وواجهات العرض إلى استبداله بقيمة افتراضية بديلة:

  • الدالة القياسية COALESCE(val1, val2, ..., default_val): تقبل معاملين أو أكثر وتفحصها بالترتيب لتعيد أول قيمة غير فارغة (Non-NULL) تصادفها.
  • دالة IFNULL(expr1, expr2): دالة خاصة بـ MySQL تقبل معاملين فقط؛ ويُنصح بتفضيل COALESCE() لدعمها سلسلة بدائل متعددة وتوافقها مع معيار SQL القياسي.
SQL
SELECT
  customer_id,
  COALESCE(mobile_phone, home_phone, 'No Phone') AS primary_phone,
  unit_price - COALESCE(discount_amount, 0.00) AS final_price
FROM customers;