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

MySQL में IFNULL() फंक्शन को COALESCE() के स्थान पर कैसे उपयोग करें

IFNULL(expr1, expr2) और COALESCE(v1, v2, ...) दो तर्कों के लिए समान व्यवहार करते हैं।

दो तर्कों पर तुलना

mysql> SELECT IFNULL(NULL, 'Green');
+-----------------------+
| IFNULL(NULL, 'Green') |
+-----------------------+
| Green                 |
+-----------------------+

mysql> SELECT COALESCE(NULL, 'Green');
+-------------------------+
| COALESCE(NULL, 'Green') |
+-------------------------+
| Green                   |
+-------------------------+

दोनों समान परिणाम देते हैं: पहला तर्क NULL हो तो दूसरा लौटाते हैं।

मुख्य अंतर

विशेषताIFNULL()COALESCE()
तर्क संख्याठीक 21 या अधिक
SQL मानकनहीं (MySQL-विशिष्ट)हां (ANSI SQL)
शॉर्ट-सर्किटहांहां
वापसी प्रकारदोनों तर्कों से निर्धारितसभी तर्कों से निर्धारित

कब कौन सा उपयोग करें

  • IFNULL(): सरल दो-मान प्रतिस्थापन, MySQL-विशिष्ट कोड
  • COALESCE(): 2+ तर्क, पोर्टेबल कोड, एकाधिक फॉलबैक मान

उदाहरण: बहु-स्तरीय फॉलबैक

-- COALESCE (3+ तर्क)
SELECT COALESCE(phone, email, 'N/A') AS contact;

-- IFNULL नेस्टेड (कम पठनीय)
SELECT IFNULL(phone, IFNULL(email, 'N/A')) AS contact;
सलाह: नए कोड में COALESCE पसंद करें — मानक, लचीला, और स्पष्ट।
  1. - MySQL COALESCE फंक्शन: पहला नॉन-NULL मान कैसे प्राप्त करें

    MySQL में COALESCE() फंक्शन का उपयोग: पहला गैर-NULL मान लौटाएं COALESCE() फंक्शन आर्गुमेंट्स की सूची में से पहला NULL नहीं मान लौटाता है। अगर सभी मान NULL हैं, तो NULL लौटाता है। सिंटैक्स: SELECT COALESCE(yourColumnName1, yourColumnName2, yourColumnName3, ..., N) AS anyVariableName FROM yourTableN

  1. - MySQL SELECT स्टेटमेंट में CAST फंक्शन कैसे उपयोग करें?

    CAST() से डेटा टाइप कन्वर्जन MySQL में CAST() फंक्शन किसी मान को निर्दिष्ट डेटा टाइप में बदलता है। SELECT स्टेटमेंट में इसका उपयोग डेटा प्रस्तुति या तुलना के लिए करें। सिंटैक्स CAST(expression AS target_type) लक्ष्य टाइप CHAR(N) - फिक्स्ड लंबाई स्ट्रिंग VARCHAR(N) - वेरिएबल लंबाई स्ट्रिंग SIGNED

  1. - MySQL में @ चिह्न (उपयोगकर्ता-परिभाषित चर) का उपयोग करें

    MySQL में @ चिह्न **उपयोगकर्ता-परिभाषित चर (user-defined variables)** को दर्शाता है। ये चर सत्र-विशिष्ट (session-specific) होते हैं और एक कनेक्शन के भीतर मानों को अस्थायी रूप से संग्रहीत करके क्वेरी के बीच साझा करने की अनुमति देते हैं। सिंटैक्स SET @variable_name := value; या SELECT में असाइनमेंट: