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 हैं।