क्वेरी परिणाम में NULL मानों को खाली स्ट्रिंग (या अन्य डिफ़ॉल्ट) से बदलने के लिए IFNULL() या COALESCE() का उपयोग करें।
टेबल बनाएं
mysql> CREATE TABLE DemoTable1849 (
ClientFirstName VARCHAR(20),
ClientLastName VARCHAR(20)
);
डेटा डालें (NULL मान सहित)
mysql> INSERT INTO DemoTable1849 VALUES('John', NULL);
mysql> INSERT INTO DemoTable1849 VALUES(NULL, 'Miller');
mysql> INSERT INTO DemoTable1849 VALUES(NULL, NULL);
mysql> INSERT INTO DemoTable1849 VALUES('Chris', 'Brown');
IFNULL से NULL बदलें
mysql> SELECT IFNULL(ClientFirstName, '') AS ClientFirstName,
IFNULL(ClientLastName, '') AS ClientLastName
FROM DemoTable1849;
आउटपुट:
+-----------------+----------------+ | ClientFirstName | ClientLastName | +-----------------+----------------+ | John | | | | Miller | | | | | Chris | Brown | +-----------------+----------------+
IFNULL vs COALESCE
| फ़ंक्शन | पैरामीटर | वापसी |
|---|---|---|
IFNULL(expr, default) | 2 | expr यदि NOT NULL, अन्यथा default |
COALESCE(expr1, expr2, ...) | 2+ | पहला गैर-NULL अभिव्यक्ति |
COALESCE उदाहरण (एकाधिक फॉलबैक)
SELECT COALESCE(mobile, landline, email, 'No Contact') AS Contact FROM Customers;
सुझाव
- एप्लिकेशन लेयर पर NULL हैंडलिंग बेहतर है (क्वेरी लेयर पर नहीं)।
CONCATमें NULL होने पर पूरा परिणाम NULL हो जाता है;CONCAT_WSयाCOALESCEउपयोग करें।- JSON आउटपुट के लिए
JSON_OBJECTNULL को छोड़ देता है (डिफ़ॉल्ट)।