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

MySQL COALESCE() फंक्शन में पहला तर्क खाली स्ट्रिंग (नॉन-NULL) होने पर परिणाम

COALESCE() पहला गैर-NULL मान लौटाता है। खाली स्ट्रिंग '' NULL नहीं है — यह एक वैध (खाली) स्ट्रिंग है। इसलिए COALESCE खाली स्ट्रिंग को ही लौटा देता है।

उदाहरण

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

व्याख्या

  • पहला तर्क: '' (खाली स्ट्रिंग, NULL नहीं)
  • दूसरा तर्क: 'Ram'
  • परिणाम: '' (पहला गैर-NULL)

NULL vs खाली स्ट्रिंग

मानIS NULL?COALESCE व्यवहार
NULLहांछोड़ देता है, अगला जांचता है
''नहींवापस लौटाता है (गैर-NULL)
0नहींवापस लौटाता है
'0'नहींवापस लौटाता है

व्यावहारिक निहितार्थ

-- यदि कॉलम खाली स्ट्रिंग हो सकता है और आप 'N/A' चाहते हैं:
SELECT COALESCE(NULLIF(col, ''), 'N/A');

-- NULLIF(col, '') खाली स्ट्रिंग को NULL में बदल देता है
महत्वपूर्ण: COALESCE केवल NULL जांचता है, "खाली" या "फाल्सी" मान नहीं। खाली स्ट्रिंग, 0, FALSE सभी गैर-NULL हैं।
  1. - यदि बिट का मान 1 है और पहली स्ट्रिंग NULL है तो MySQL MAKE_SET() फंक्शन क्या वापस करता है?

    MySQL MAKE_SET() फंक्शन कुछ भी वापस नहीं करता यदि बिट का मान 1 है और पहली स्ट्रिंग NULL है। निम्न उदाहरण इस अवधारणा को प्रदर्शित करेगा: उदाहरण Select MAKE_SET(1, NULL,A,B); +---------------------------+ | MAKE_SET(1, NULL,A,B) | +---------------------------+ | | +--------

  1. - MySQL में 'IS NULL' और 'IS NOT NULL' का क्या लाभ है?

    जैसा कि हम जानते हैं कि NULL की तुलना ऑपरेटर के साथ करने पर हमें कोई सार्थक रिजल्ट सेट नहीं मिलेगा। ऐसी तुलनाओं से सार्थक परिणाम प्राप्त करने के लिए, हम IS NULL और IS NOT NULL का उपयोग कर सकते हैं। उदाहरण mysql> Select 10 IS NULL; +------------+ | 10 IS NULL | +------------+ | 0    

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl