Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

केस एक्सप्रेशन बनाम केस स्टेटमेंट

CASE अभिव्यक्ति एक मूल्य का मूल्यांकन करती है, अर्थात इसका उपयोग किसी शर्त के आधार पर परिणामों के समूह में से किसी एक का मूल्यांकन करने के लिए किया जाता है।
उदाहरण:

SELECT CASE
    WHEN type = 1 THEN 'foo'
    WHEN type = 2 THEN 'bar'
    ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`

CASE कथन कुछ शर्तों के आधार पर कथनों के समूह में से किसी एक को निष्पादित करता है।
उदाहरण:

CASE
    WHEN action = 'update' THEN
        UPDATE sometable SET column = value WHERE condition;
    WHEN action = 'create' THEN
        INSERT INTO sometable (column) VALUES (value);
END CASE

आप देखते हैं कि वे कैसे समान हैं, लेकिन कथन नहीं एक मूल्य का मूल्यांकन करें और इसका उपयोग स्वयं किया जा सकता है, जबकि अभिव्यक्ति को अभिव्यक्ति का हिस्सा होना चाहिए, उदा। एक प्रश्न या एक असाइनमेंट। आप किसी क्वेरी में कथन का उपयोग नहीं कर सकते हैं, क्योंकि किसी क्वेरी में कथन नहीं हो सकते हैं, केवल वे अभिव्यक्तियाँ जिन्हें किसी चीज़ का मूल्यांकन करने की आवश्यकता होती है (क्वेरी स्वयं एक कथन है, एक तरह से), उदा। SELECT CASE WHEN condition THEN UPDATE table SET something; END CASE कोई मतलब नहीं है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल:प्रश्नों का डिफ़ॉल्ट आदेश क्या है?

  2. सभी टेबल प्रदर्शित करें। वर्णन-जैसी कार्यक्षमता

  3. एक ही क्वेरी में अलग-अलग मानों के साथ कई पंक्तियों को अपडेट करें - MySQL

  4. कैसे जांचें कि कोई दिनांक MySQL का उपयोग करके दिनांक 1 और दिनांक 2 के बीच है या नहीं?

  5. ImportError:'MySQL' नाम का कोई मॉड्यूल नहीं