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

MySQL में CASE कंट्रोल फ्लो फंक्शन कैसे काम करता है?


MySQL का CASE स्टेटमेंट एक फ्लो कंट्रोल फंक्शन है जो हमें SELECT या WHERE क्लॉज़ जैसे क्वेरी के अंदर शर्तें बनाने की अनुमति देता है। CASE स्टेटमेंट के दो सिंटैक्स होते हैं:

सिंटैक्स-1

CASE val WHEN compare_val1 THEN result1 WHEN compare_val2 THEN result2 ... ELSE result END

इस पहले सिंटैक्स में, यदि val compare_val1 के बराबर है तो CASE स्टेटमेंट result1 लौटाता है। यदि val compare_val2 के बराबर है तो result2 लौटाता है, और इसी तरह आगे।

यदि val किसी भी compare_val से मेल नहीं खाता, तो CASE स्टेटमेंट ELSE क्लॉज़ में निर्दिष्ट result लौटाता है।

उदाहरण

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, आदि लौटाता है यदि शर्त सत्य है। यदि सभी शर्तें असत्य हैं, तो CASE स्टेटमेंट ELSE क्लॉज़ में निर्दिष्ट result लौटाता है।

उदाहरण

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)

  1. - MySQL में STR_TO_DATE() फ़ंक्शन में दिन कैसे जोड़ें? DATE_ADD का उपयोग

    आप MySQL से DATE_ADD() फ़ंक्शन का उपयोग कर सकते हैं। टेबल बनाएं mysql> create table DemoTable ( -> ShippingDate varchar(100) -> ); Query OK, 0 rows affected (0.67 sec) रिकॉर्ड्स डालें mysql> insert into DemoTable values(06-01-2019); Query OK, 1 row affected (0.15 sec) mysql>

  1. - MySQL फंक्शन से टेबल कैसे लौटाएं?

    MySQL फंक्शन से टेबल नहीं लौटा सकते। फंक्शन स्ट्रिंग, इंटीजर, चार आदि लौटा सकता है। MySQL से टेबल लौटाने के लिए स्टोर्ड प्रोसीजर का उपयोग करें, फंक्शन नहीं। उदाहरण टेबल बनाएं: mysql> create table DemoTable696 ( -> Id int, -> Name varchar(100) -> ); Query OK, 0 rows affected

  1. - क्या MySQL का SLEEP() फ़ंक्शन बिजी-वेट है? इसे कैसे लागू करें?

    MySQL SLEEP() फ़ंक्शन: बिजी-वेट नहीं, बल्कि कुशल विलंब नहीं, MySQL का SLEEP() फ़ंक्शन बिजी-वेट (busy-wait) नहीं है। यह CPU साइकिल बर्बाद किए बिना निर्दिष्ट सेकंड के लिए कनेक्शन को सस्पेंड कर देता है। उदाहरण के साथ कार्यान्वयन आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable (FirstName VARCHAR(10