MySQL का IF(condition, true_value, false_value) फ़ंक्शन कॉलम मान के आधार पर कस्टम आउटपुट देने की अनुमति देता है।
टेबल बनाएं
mysql> CREATE TABLE DemoTable1850 (OrderStatus VARCHAR(20));
डेटा डालें
mysql> INSERT INTO DemoTable1850 VALUES('Yes'),('No'),('Yes'),('Yes');
IF() के साथ कस्टम संदेश
mysql> SELECT IF(OrderStatus = 'Yes', 'Order has been placed', 'Failed') AS Status
FROM DemoTable1850;
आउटपुट:
+-----------------------+ | Status | +-----------------------+ | Order has been placed | | Failed | | Order has been placed | | Order has been placed | +-----------------------+
सिंटैक्स
IF(condition, value_if_true, value_if_false)
नेस्टेड IF / CASE विकल्प
एक से अधिक शर्तों के लिए:
SELECT CASE
WHEN OrderStatus = 'Yes' THEN 'Order has been placed'
WHEN OrderStatus = 'No' THEN 'Cancelled'
ELSE 'Unknown'
END AS Status
FROM DemoTable1850;
IF vs CASE
| विशेषता | IF() | CASE |
|---|---|---|
| शर्तें | 1 (सत्य/असत्य) | कई |
| पठनीयता | सरल के लिए अच्छी | जटिल के लिए बेहतर |
| मानक SQL | नहीं (MySQL-विशिष्ट) | हां (ANSI) |
उपयोग के मामले
- रिपोर्ट में स्थिति लेबल दिखाना।
- गणना में सशर्त मान (जैसे बोनस:
IF(sales>1000, 500, 0))। - NULL हैंडलिंग:
IF(col IS NULL, 'N/A', col)