IF (IF)
تابع IF برای شرط (Condition) در MySQL است. شرط یعنی پرسیدن یک سوال بله/خیر. اگر شرط درست باشد یک مقدار می دهد؛ اگر غلط باشد مقدار دیگری می دهد. این دقیقاً مثل تصمیم های بازی است.
تعریف سریع و کاربرد
وقتی می خواهی خروجی را بر اساس یک تست تغییر دهی، از IF استفاده کن. بنابراین گزارش ها خواناتر می شوند و منطق داخل کوئری ساده می ماند.
سینتکس
SELECT IF(condition, value_if_true, value_if_false);
مثال های کاربردی تابع IF در MySQL
1) خروجی متنی ساده
اگر 500 کمتر از 1000 بود، "YES" بده؛ وگرنه "NO".
SELECT IF(500 < 1000, "YES", "NO");
2) خروجی عددی
اگر شرط درست بود 5 بده؛ در غیر این صورت 10 بده.
SELECT IF(500 < 1000, 5, 10);
3) مقایسه رشته ها با STRCMP
اگر دو رشته برابر بودند "YES" بده؛ وگرنه "NO" بده.
SELECT IF(STRCMP("hello", "bye") = 0, "YES", "NO");
4) برچسب گذاری سطری در SELECT
اگر Quantity > 10 بود "MORE" بده؛ وگرنه "LESS" بده.
SELECT OrderID, Quantity, IF(Quantity > 10, "MORE", "LESS")
FROM OrderDetails;
نکته: برای کنترل مقادیر تهی از IFNULL استفاده کن. همچنین نام دیتابیس جاری را با DATABASE بررسی کن.
گام های عملی کوتاه
- شرطت را مشخص کن؛ مقایسه عدد یا متن.
- دو مقدار خروجی را تعیین کن.
- IF را در SELECT قرار بده و نتیجه را ببین.
جمع بندی سریع
- IF خروجی را شرطی می کند.
- سینتکس ساده و خواناست.
- با STRCMP برای متن ها عالی است.
- برای NULL از IFNULL کمک بگیر.