COALESCE() फ़ंक्शन से NULL मान बदलें
COALESCE() फ़ंक्शन अपने तर्कों में पहला नॉन-NULL मान लौटाता है। NULL को 0 में बदलने के लिए दूसरा तर्क 0 दें।
सिंटैक्स
SELECT COALESCE(yourColumnName, 0) AS alias FROM yourTableName;
उदाहरण: टेबल और डेटा
mysql> create table convertNullToZeroDemo (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20),
-> Salary int
-> );
mysql> INSERT INTO convertNullToZeroDemo(Name,Salary) VALUES
('John',NULL), ('Carol',5610), ('Bob',NULL), ('David',NULL);
डेटा
+----+-------+--------+ | Id | Name | Salary | +----+-------+--------+ | 1 | John | NULL | | 2 | Carol | 5610 | | 3 | Bob | NULL | | 4 | David | NULL | +----+-------+--------+
COALESCE क्वेरी और परिणाम
mysql> SELECT COALESCE(Salary, 0) AS CONVERT_NULL_TO_0 FROM convertNullToZeroDemo;
+--------------------+ | CONVERT_NULL_TO_0 | +--------------------+ | 0 | | 5610 | | 0 | | 0 | +--------------------+
COALESCE vs IFNULL
| फ़ंक्शन | तर्क | मानक SQL | वापसी प्रकार |
|---|---|---|---|
| COALESCE | 2 या अधिक | हाँ (ANSI) | तर्कों का सामान्य प्रकार |
| IFNULL | केवल 2 | नहीं (MySQL-विशिष्ट) | पहले तर्क का प्रकार |
बहु-कॉलम COALESCE
SELECT COALESCE(col1, col2, col3, 0) FROM table; -- पहला नॉन-NULL लौटाता है