MySQL CASE स्टेटमेंट एक फ्लो कंट्रोल फंक्शन है जो हमें SELECT या WHERE क्लॉज जैसी क्वेरी के अंदर स्थितियां बनाने की अनुमति देता है। हमारे पास CASE स्टेटमेंट के दो सिंटैक्स हैं
सिंटैक्स-1
CASE val WHEN compare_val1 THEN result1 WHEN compare_val2 THEN result2 . . . Else result END
यहां इस पहले सिंटैक्स में, यदि वैल तुलना_वैल1 . के बराबर है फिर CASE स्टेटमेंट result1 returns लौटाता है . अगर वैल तुलना_val2 . के बराबर है फिर CASE स्टेटमेंट result2 returns लौटाता है और इसी तरह।
यदि वैल किसी तुलना_वाल से मेल नहीं खाता है तो CASE स्टेटमेंट परिणाम लौटाता है ELSE . में निर्दिष्ट खंड।
उदाहरण
mysql> Select CASE 100 -> WHEN 100 THEN 'It is matched' -> WHEN 200 THEN 'It is not matched' -> ELSE 'No use of this Number' -> END as 'Matching the Number'; +---------------------+ | Matching the Number | +---------------------+ | It is matched | +---------------------+ 1 row in set (0.06 sec)
सिंटैक्स-2
CASE WHEN condition_1 THEN result1 WHEN condition_2 THEN result2 . . . Else result END
यहाँ इस दूसरे सिंटैक्स में, CASE स्टेटमेंट रिटर्न करता है result1, result2, etc . अगर शर्त सच है। यदि सभी शर्तें गलत हैं तो CASE स्टेटमेंट परिणाम . लौटाता है ELSE . में निर्दिष्ट खंड।
उदाहरण
mysql> Select CASE -> WHEN (100 = 100) THEN 'It is Matched' -> WHEN (200 = 100) Then 'It is Not Matched' -> Else 'No use of Number' -> END as 'Matching the Number'; +---------------------+ | Matching the Number | +---------------------+ | It is Matched | +---------------------+ 1 row in set (0.00 sec)