فهرست سرفصل‌های MySQL
خانه (HOME) مقدمه (Intro) پایگاه داده رابطه ای (RDBMS) SQL (SQL) SELECT (SELECT) WHERE (WHERE) عملگرهای AND, OR, NOT (AND, OR, NOT) مرتب سازی (ORDER BY) افزودن رکورد (INSERT INTO) مقادیر NULL (NULL Values) بروزرسانی (UPDATE) حذف (DELETE) محدودیت تعداد (LIMIT) کمینه و بیشینه (MIN and MAX) COUNT، AVG، SUM (COUNT, AVG, SUM) LIKE (LIKE) کاراکترهای عام (Wildcards) IN (IN) BETWEEN (BETWEEN) نام های مستعار (Aliases) اتصال ها (Joins) INNER JOIN (INNER JOIN) LEFT JOIN (LEFT JOIN) RIGHT JOIN (RIGHT JOIN) CROSS JOIN (CROSS JOIN) خود-اتصالی (Self Join) UNION (UNION) UNION ALL (UNION ALL) گروه بندی (GROUP BY) HAVING (HAVING) EXISTS (EXISTS) ANY و ALL (ANY, ALL) INSERT SELECT (INSERT SELECT) CASE (CASE) توابع Null (Null Functions) کامنت ها (Comments) عملگرها (Operators) ایجاد پایگاه داده (Create DB) حذف پایگاه داده (Drop DB) ایجاد جدول (Create Table) حذف جدول (Drop Table) تغییر جدول (Alter Table) قیود (Constraints) Not Null (Not Null) منحصر به فرد (Unique) کلید اصلی (Primary Key) کلید خارجی (Foreign Key) CHECK (Check) پیش فرض (Default) ایندکس (Create Index) افزایش خودکار (Auto Increment) تاریخ ها (Dates) نماها (Views) انواع داده (Data Types) توابع (MySQL Functions) ASCII (ASCII) CHAR_LENGTH (CHAR_LENGTH) CHARACTER_LENGTH (CHARACTER_LENGTH) CONCAT (CONCAT) CONCAT_WS (CONCAT_WS) FIELD (FIELD) FIND_IN_SET (FIND_IN_SET) FORMAT (FORMAT) INSERT (INSERT) INSTR (INSTR) LCASE (LCASE) LEFT (LEFT) LENGTH (LENGTH) LOCATE (LOCATE) LOWER (LOWER) LPAD (LPAD) LTRIM (LTRIM) MID (MID) POSITION (POSITION) REPEAT (REPEAT) REPLACE (REPLACE) REVERSE (REVERSE) RIGHT (RIGHT) RPAD (RPAD) RTRIM (RTRIM) SPACE (SPACE) STRCMP (STRCMP) SUBSTR (SUBSTR) SUBSTRING (SUBSTRING) SUBSTRING_INDEX (SUBSTRING_INDEX) TRIM (TRIM) UCASE (UCASE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATAN2 (ATAN2) AVG (AVG) CEIL (CEIL) CEILING (CEILING) COS (COS) COT (COT) COUNT (COUNT) DEGREES (DEGREES) DIV (DIV) EXP (EXP) FLOOR (FLOOR) GREATEST (GREATEST) LEAST (LEAST) LN (LN) LOG (LOG) LOG10 (LOG10) LOG2 (LOG2) MAX (MAX) MIN (MIN) MOD (MOD) PI (PI) POW (POW) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SUM (SUM) TAN (TAN) TRUNCATE (TRUNCATE) ADDDATE (ADDDATE) ADDTIME (ADDTIME) CURDATE (CURDATE) CURRENT_DATE (CURRENT_DATE) CURRENT_TIME (CURRENT_TIME) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) CURTIME (CURTIME) DATE (DATE) DATEDIFF (DATEDIFF) DATE_ADD (DATE_ADD) DATE_FORMAT (DATE_FORMAT) DATE_SUB (DATE_SUB) DAY (DAY) DAYNAME (DAYNAME) DAYOFMONTH (DAYOFMONTH) DAYOFWEEK (DAYOFWEEK) DAYOFYEAR (DAYOFYEAR) EXTRACT (EXTRACT) FROM_DAYS (FROM_DAYS) HOUR (HOUR) LAST_DAY (LAST_DAY) LOCALTIME (LOCALTIME) LOCALTIMESTAMP (LOCALTIMESTAMP) MAKEDATE (MAKEDATE) MAKETIME (MAKETIME) MICROSECOND (MICROSECOND) MINUTE (MINUTE) MONTH (MONTH) MONTHNAME (MONTHNAME) NOW (NOW) PERIOD_ADD (PERIOD_ADD) PERIOD_DIFF (PERIOD_DIFF) QUARTER (QUARTER) SECOND (SECOND) SEC_TO_TIME (SEC_TO_TIME) STR_TO_DATE (STR_TO_DATE) SUBDATE (SUBDATE) SUBTIME (SUBTIME) SYSDATE (SYSDATE) TIME (TIME) TIME_FORMAT (TIME_FORMAT) TIME_TO_SEC (TIME_TO_SEC) TIMEDIFF (TIMEDIFF) TIMESTAMP (TIMESTAMP) TO_DAYS (TO_DAYS) WEEK (WEEK) WEEKDAY (WEEKDAY) WEEKOFYEAR (WEEKOFYEAR) YEAR (YEAR) YEARWEEK (YEARWEEK) BIN (BIN) BINARY (BINARY) CASE (CASE) CAST (CAST) COALESCE (COALESCE) CONNECTION_ID (CONNECTION_ID) CONV (CONV) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) DATABASE (DATABASE) IF (IF) IFNULL (IFNULL) ISNULL (ISNULL) LAST_INSERT_ID (LAST_INSERT_ID) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SYSTEM_USER (SYSTEM_USER) USER (USER) VERSION (VERSION) مثال ها (MySQL Examples) ویرایشگر (MySQL Editor) آزمون (MySQL Quiz) تمارین (MySQL Exercises) سرفصل (MySQL Syllabus) برنامه مطالعه (MySQL Study Plan) گواهینامه (MySQL Certificate)
نتیجه‌ای برای جستجو یافت نشد.
MySQL

MySQL — IF (IF)

آخرین بروزرسانی: 1404/08/18

IF (IF)

تابع IF() یک شرط را می سنجد. اگر درست بود یک مقدار می دهد، وگرنه مقدار دیگری. «شرط (Condition)» یعنی پرسش بله/خیر؛ مثل این که بپرسی: امروز امتحان داریم؟

تعریف و کاربرد

IF() وقتی شرط TRUE باشد مقدار اول را برمی گرداند، و وقتی FALSE باشد مقدار دوم را. نتیجه می تواند رشته یا عدد باشد.

سینتکس

IF(condition, value_if_true, value_if_false);

مشاهده در ادیتور

مثال 1: خروجی متنی

اگر 500 کمتر از 1000 بود، YES برگردان؛ وگرنه NO.

SELECT IF(500 < 1000, "YES", "NO");

مشاهده در ادیتور

مثال 2: خروجی عددی

اگر شرط درست بود 5 بده؛ وگرنه 10 بده.

SELECT IF(500 < 1000, 5, 10);

مشاهده در ادیتور

مثال 3: مقایسه رشته ای

اگر دو رشته برابر بودند 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;

مشاهده در ادیتور

گام های عملی

  1. شرط را ساده بنویس؛ مثل <، > یا =.
  2. دو مقدار خروجی را مشخص کن.
  3. SELECT را اجرا کن و خروجی را بررسی کن.

نکات مهم

نکته: برای تبدیل مقدار تهی از COALESCE() استفاده کن. همچنین برای تبدیل نوع، صفحه CONVERT() را ببین.

جمع بندی سریع

  • IF() دو خروجی ممکن دارد.
  • در SELECT، ستون محاسباتی می سازد.
  • با رشته و عدد کار می کند.
  • شرط را خیلی روشن بنویس.