NULLIF (NULLIF)
تابع NULLIF() دو «عبارت (Expression)» را مقایسه می کند. اگر برابر باشند، مقدار NULL می دهد. در غیر این صورت، همان عبارت اول را برمی گرداند. مثل وقتی دو جواب یکسان بدهی و معلم بگوید «هیچی».
تعریف و کاربرد
NULLIF() برای جلوگیری از نتایج اشتباه مفید است. مثلا تقسیم بر صفر را به NULL تبدیل کن تا خطا نگیری. همچنین در گزارش گیری، برابری های بی ارزش را حذف می کند.
سینتکس
NULLIF(expr1, expr2);
نمونه های ساده
اگر مقادیر مساوی باشند، نتیجه NULL است.
SELECT NULLIF(25, 25);
اگر نابرابر باشند، expr1 همان طور برمی گردد.
SELECT NULLIF(25, "Hello");
SELECT NULLIF("Hello", "world");
تاریخ های برابر نیز NULL می شوند.
SELECT NULLIF("2017-08-25", "2017-08-25");
گام های عملی
- دو مقدار یا ستون را انتخاب کن.
- با NULLIF آن ها را مقایسه کن.
- برای NULL ها برنامه ریزی کن.
نکته: برای مدیریت NULL از IFNULL() کمک بگیر. همچنین شرط های انعطاف پذیر را با IF() بساز.
جمع بندی سریع
- برابر باشند ⟶ خروجی NULL.
- نابرابر باشند ⟶ خروجی expr1.
- برای حذف برابری های بی معنا عالی است.
- NULL ها را بعداً با IFNULL مدیریت کن.