شرح صفوف ومحتوى الفقرة
تقارن دالة NULLIF(expr1, expr2) بين قيمتين، فإذا تساوتا (expr1 = expr2) تعيد القيمة الفارغة NULL، وإلا فإنها تعيد القيمة الأولى expr1 كما هي. وتبرز أهميتها في حالتين عمليتين:
- الوقاية من القسمة على صفر: كتابة
revenue / NULLIF(visits, 0)تحول المقام الصفري إلىNULL، وبدمجها معCOALESCE(..., 0)نحصل على0بأمان تام. - تحويل النصوص الفارغة إلى NULL: يحول التعبير
NULLIF(TRIM(notes), '')النص الفارغ إلىNULLحقيقي.
SQL
SELECT
campaign_id,
COALESCE(clicks / NULLIF(impressions, 0), 0) AS ctr_ratio,
NULLIF(TRIM(coupon_code), '') AS clean_coupon
FROM ad_campaigns;