MySQL में IF() और IS NULL का उपयोग करके NULL मानों को संभालना
MySQL में NULL मानों की जांच करने और उनके आधार पर नया कॉलम बनाने के लिए IF() फंक्शन के साथ IS NULL प्रॉपर्टी का उपयोग किया जाता है। आइए एक उदाहरण से समझते हैं।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
Name VARCHAR(100),
CountryName VARCHAR(100)
);
Query OK, 0 rows affected (0.70 sec)
mysql> INSERT INTO DemoTable VALUES('Chris','US');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('Mike',NULL);
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('David');
Query OK, 1 row affected (0.38 sec)
mysql> INSERT INTO DemoTable VALUES('Bob','AUS');
Query OK, 1 row affected (0.45 sec)
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------+-------------+ | Name | CountryName | +-------+-------------+ | Chris | US | | Mike | NULL | | David | NULL | | Bob | AUS | +-------+-------------+ 4 rows in set (0.00 sec)
NULL मानों के लिए नया कॉलम बनाना
निम्न क्वेरी CountryName कॉलम में NULL मान होने पर 1 और अन्यथा 0 दिखाती है:
mysql> SELECT Name, CountryName, IF(CountryName IS NULL, 1, 0) AS CountDemo FROM DemoTable;
परिणाम:
+-------+-------------+-----------+ | Name | CountryName | CountDemo | +-------+-------------+-----------+ | Chris | US | 0 | | Mike | NULL | 1 | | David | NULL | 1 | | Bob | AUS | 0 | +-------+-------------+-----------+ 4 rows in set (0.00 sec)
व्याख्या: IF(CountryName IS NULL, 1, 0) कथन जांचता है कि CountryName NULL है या नहीं। यदि हां, तो 1 लौटाता है, अन्यथा 0। यह तरीका डेटा विश्लेषण और रिपोर्टिंग में NULL मानों को फ़्लैग करने के लिए उपयोगी है।