MySQL में ISNULL() फ़ंक्शन का उपयोग करके प्रत्येक पंक्ति में NULL मान वाले कॉलम की संख्या गिनें।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> Number1 INT,
-> Number2 INT
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable VALUES(10, NULL), (NULL, NULL), (29, 98), (NULL, 119);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+---------+---------+ | Number1 | Number2 | +---------+---------+ | 10 | NULL | | NULL | NULL | | 29 | 98 | | NULL | 119 | +---------+---------+ 4 rows in set (0.00 sec)
प्रति पंक्ति NULL गिनती की क्वेरी
mysql> SELECT Number1, Number2, ISNULL(Number1) + ISNULL(Number2) AS NumberOfNULLs FROM DemoTable;
आउटपुट
+---------+---------+---------------+ | Number1 | Number2 | NumberOfNULLs | +---------+---------+---------------+ | 10 | NULL | 1 | | NULL | NULL | 2 | | 29 | 98 | 0 | | NULL | 119 | 1 | +---------+---------+---------------+ 4 rows in set (0.00 sec)
व्याख्या:
ISNULL(expr)- expr NULL हो तो 1, अन्यथा 0 लौटाता है- कई कॉलम के लिए ISNULL परिणामों को जोड़कर प्रति पंक्ति कुल NULL गिनती प्राप्त करें
सामान्यीकृत दृष्टिकोण (कई कॉलम के लिए):
SELECT *,
(CASE WHEN Col1 IS NULL THEN 1 ELSE 0 END) +
(CASE WHEN Col2 IS NULL THEN 1 ELSE 0 END) +
(CASE WHEN Col3 IS NULL THEN 1 ELSE 0 END) AS NullCount
FROM DemoTable;
MySQL 8.0+ विकल्प: (Col1 IS NULL) + (Col2 IS NULL) + ... - बूलियन TRUE=1, FALSE=0 का सीधे उपयोग।
ISNULL vs COALESCE: ISNULL() केवल जांचता है (0/1 लौटाता है), COALESCE() पहला गैर-NULL मान लौटाता है।