Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में टर्नरी कंडीशनल ऑपरेटर कैसे लागू करें?


MySQL में IF() फ़ंक्शन टर्नरी ऑपरेटर (?:) के समान काम करता है

C/Java जैसे भाषाओं में टर्नरी ऑपरेटर condition ? val1 : val2 होता है। MySQL में IF(condition, val1, val2) फ़ंक्शन समान कार्य करता है।

सिंटैक्स

IF(शर्त, मान_यदि_सत्य, मान_यदि_असत्य)

उदाहरण

केस 1: शर्त असत्य (3 > 5 गलत)

mysql> SELECT IF(3 > 5, 'Condition is true', 'Condition is not true') AS ConditionalResult;
+-----------------------+
| ConditionalResult     |
+-----------------------+
| Condition is not true |
+-----------------------+

केस 2: शर्त सत्य (3 < 5 सही)

mysql> SELECT IF(3 < 5, 'Condition is true', 'Condition is not true') AS ConditionalResult;
+-------------------+
| ConditionalResult |
+-------------------+
| Condition is true |
+-------------------+

कॉलम पर उपयोग

SELECT name, IF(age >= 18, 'Adult', 'Minor') AS category FROM users;

नेस्टेड IF (एल्स-इफ)

SELECT score,
    IF(score >= 90, 'A',
    IF(score >= 80, 'B',
    IF(score >= 70, 'C', 'F'))) AS grade
FROM students;

CASE एक्सप्रेशन (अधिक पठनीय जटिल तर्क के लिए)

SELECT score,
    CASE 
        WHEN score >= 90 THEN 'A'
        WHEN score >= 80 THEN 'B'
        WHEN score >= 70 THEN 'C'
        ELSE 'F'
    END AS grade
FROM students;

IF() बनाम CASE

विशेषताIF()CASE
सरल शर्तअच्छाअच्छा
एकाधिक शर्तेंनेस्टेड (पढ़ने में कठिन)स्पष्ट, पठनीय
NULL हैंडलिंगशर्त NULL → false शाखाWHEN NULL THEN संभव
प्रकारफ़ंक्शनएक्सप्रेशन

नोट्स

  • IF() MySQL-विशिष्ट है; CASE मानक SQL है
  • IFNULL() अलग है: IFNULL(expr, val) केवल NULL जांचता है
  • MySQL 8.0 में IF() ऑप्टिमाइज़र द्वारा अच्छी तरह से संभाला जाता है
  1. - पायथन टर्नरी ऑपरेटर को कैसे ओवरलोड करें?

    टर्नरी ऑपरेटर को ओवरलोड नहीं किया जा सकता। हालांकि आप इसे लैम्ब्डा/फ़ंक्शन में लपेटकर उपयोग कर सकते हैं। उदाहरण result = lambda x: 1 if x < 3 else 10 print(result(2)) print(result(1000)) आउटपुट यह आउटपुट देगा: 1 10

  1. - Python 3 में == ऑपरेटर कैसे काम करता है?

    `==` सिंबल को इक्वलिटी ऑपरेटर के रूप में परिभाषित किया गया है। यह true लौटाता है यदि दोनों तरफ के एक्सप्रेशन बराबर हैं और false यदि वे बराबर नहीं हैं। >>> (10+2) == 12 True >>> 5*5 == 5**2 True >>> (10/3) == 3 False >>> computer == computer True >>> COMP

  1. - Ruby के टर्नरी ऑपरेटर को मास्टर करना: कॉम्पैक्ट कंडीशनल लॉजिक के लिए त्वरित गाइड

    Ruby में टर्नरी ऑपरेटर क्या है? एक टर्नरी ऑपरेटर तीन भागों से बना होता है, इसी से टर्नरी शब्द आया है। इन भागों में एक कंडीशनल स्टेटमेंट और दो संभावित परिणाम शामिल हैं। दूसरे शब्दों में, एक टर्नरी आपको केवल एक लाइन कोड में एक कॉम्पैक्ट if/else एक्सप्रेशन लिखने का एक तरीका देता है। उदाहरण के लिए: if