شرح صفوف ومحتوى الفقرة
عندما يحتوي عمود على القيمة الفارغة 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;