MySQL CASE एक स्विच स्टेटमेंट की तरह काम करता है। CASE का सिंटैक्स इस प्रकार है -
केस 1 - स्टेटमेंट की तुलना करें
मामले में कोई भी तुलना करें तो मान 1 जब कोई तुलना करें तो मान 2.. किसी भी मान को किसी भी चर नाम के रूप में;
केस 2 - शर्तें
दूसरे सिंटैक्स का उपयोग तब किया जा सकता है जब आप केवल एक कॉलम का चयन कर रहे हों। वाक्य रचना इस प्रकार है -
केस योर कॉलमनामजब कंडीशन1 फिर रिजल्ट1जब कंडीशन1 फिर रिजल्ट2..कोई भी वैल्यूएंड;
उपरोक्त अवधारणा को समझने के लिए, आइए चुनिंदा कथन का उपयोग करें।
केस 1
क्वेरी इस प्रकार है -
mysql> चयन करें -> केस जब 45 <55 तब '55 45 से बड़ा है' -> जब 10!=11 तब '10 11 के बराबर नहीं है' -> अन्यथा 'डिफ़ॉल्ट मामला' -> परिणाम के रूप में समाप्त होता है;
आउटपुट
<पूर्व>+--------------------------+| परिणाम |+-----------------------+| 55, 45 से बड़ा है |+--------------------------+1 पंक्ति सेट में (0.00 सेकंड)केस 2
आइए दूसरे सिंटैक्स को समझने के लिए एक टेबल बनाएं।
तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं CaseDemo -> ( -> Id int, -> Name varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.93 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> CaseDemo मानों में डालें (1, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.43 सेकंड) mysql> CaseDemo मानों में डालें (2, 'सैम'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) )
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> CaseDemo से *चुनें;
आउटपुट
<पूर्व>+----------+------+| आईडी | नाम |+----------+------+| 1 | जॉन || 2 | सैम |+----------+------+2 पंक्तियों में सेट (0.00 सेकंड)यहाँ CASE की दूसरी क्वेरी है जिसका उपयोग केवल एक मान के साथ काम करने के लिए किया जा सकता है। क्वेरी इस प्रकार है -
mysql> केस का नाम चुनें-> जब 'जॉन' तब 'उसका नाम जॉन है'-> जब 'सैम' तब 'उसका नाम सैम'-> और -1-> परिणाम के रूप में समाप्त होता है-> CaseDemo से;पूर्व>आउटपुट
<पूर्व>+------------------+| परिणाम |+---------------------+| उसका नाम जॉन है || उसका नाम सैम है |+------------------+2 पंक्तियों में सेट (0.00 सेकंड)