जैसा कि हम जानते हैं कि SUM() फंक्शन NULL लौटाता है यदि कोई मिलान वाली पंक्ति नहीं है लेकिन कभी-कभी हम चाहते हैं कि यह NULL के बजाय शून्य लौटाए। इस उद्देश्य के लिए, हम MySQL COALESCE() फंक्शन का उपयोग कर सकते हैं जो दो आर्गुमेंट स्वीकार करता है और यदि पहला आर्गुमेंट NULL है तो दूसरा आर्गुमेंट लौटाता है, अन्यथा पहला आर्गुमेंट लौटाता है। उपरोक्त अवधारणा को समझने के लिए, 'employee_tbl' टेबल पर विचार करें जिसमें निम्नलिखित रिकॉर्ड हैं:
mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+ 7 rows in set (0.00 sec)
अब, MySQL SUM() फंक्शन 0 लौटाता है जब हम COALESCE फंक्शन का उपयोग SUM() के साथ करके 'Mohan' द्वारा टाइप किए गए पृष्ठों की कुल संख्या खोजते हैं, जो नाम 'Name' कॉलम में नहीं है:
mysql> SELECT COALESCE(SUM(daily_typing_pages),0) AS 'SUM(daily_typing_pages)' FROM employee_tbl WHERE Name = 'Mohan'; +-------------------------+ | SUM(daily_typing_pages) | +-------------------------+ | 0 | +-------------------------+ 1 row in set (0.00 sec)