NULLIF (NULLIF)
تابع NULLIF دو عبارت (Expression) را مقایسه می کند. اگر برابر باشند، مقدار NULL برمی گرداند. در غیر این صورت، مقدار عبارت اول را می دهد. فرض کن دو پاسخ امتحان یکی است؛ نتیجه را خالی برمی گرداند.
تعریف و کاربرد تابع NULLIF
NULLIF برای تشخیص برابر بودن دو مقدار عالی است. بنابراین وقتی دو مقدار یکی هستند، خروجی NULL می شود. اما اگر متفاوت باشند، همان مقدار اول برمی گردد. این رفتار در گزارش ها بسیار کمک می کند.
سینتکس
SELECT NULLIF(expr1, expr2);
مثال 1: برابر هستند، پس NULL
SELECT NULLIF(25, 25);
مثال 2: عدد و متن برابر نیستند
SELECT NULLIF(25, "Hello");
مثال 3: دو متن متفاوت
SELECT NULLIF("Hello", "world");
مثال 4: دو تاریخ برابر
SELECT NULLIF("2017-08-25", "2017-08-25");
نکته: اگر می خواهی وقتی NULL شد، مقدار جایگزین بدهی، از IFNULL استفاده کن. اگر فقط می خواهی تهی بودن را بسنجی، ISNULL مناسب است. برای دسترسی سریع، تابع NULLIF را ذخیره کن.
گام های عملی کوتاه
- دو مقدار یا عبارت را مشخص کن.
- NULLIF(expr1, expr2) را اجرا کن.
- اگر برابر بودند، خروجی NULL می شود.
- اگر برابر نبودند، expr1 برمی گردد.
جمع بندی سریع
- NULLIF برابرها را NULL می کند.
- در نابرابری، expr1 برمی گردد.
- برای جایگزین، از IFNULL کمک بگیر.
- برای تست تهی، ISNULL را ببین.