IF() के साथ NULL और खाली स्ट्रिंग दोनों को संभालना
किसी कॉलम में NULL या खाली स्ट्रिंग ('') होने पर एक कस्टम मान दिखाने के लिए IF() फंक्शन में IS NULL OR = '' शर्त का उपयोग करें।
टेबल और डेटा
mysql> CREATE TABLE DemoTable (
Value VARCHAR(100)
);
Query OK, 0 rows affected (0.75 sec)
mysql> INSERT INTO DemoTable VALUES('100');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('');
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DemoTable VALUES('200');
Query OK, 1 row affected (0.06 sec)
mysql> INSERT INTO DemoTable VALUES(NULL);
Query OK, 1 row affected (0.12 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+-------+ | Value | +-------+ | 100 | | | | 200 | | NULL | +-------+ 4 rows in set (0.00 sec)
NULL/खाली के लिए कस्टम मान 'Garbage Value' सेट करना
mysql> SELECT IF(Value IS NULL OR Value = '', 'Garbage Value', Value) AS Result FROM DemoTable;
परिणाम:
+---------------+ | Result | +---------------+ | 100 | | Garbage Value | | 200 | | Garbage Value | +---------------+ 4 rows in set (0.00 sec)
व्याख्या: पंक्ति 1: '100' न NULL न खाली → '100'। पंक्ति 2: खाली स्ट्रिंग → 'Garbage Value'। पंक्ति 3: '200' → '200'। पंक्ति 4: NULL → 'Garbage Value'।
वैकल्पिक: COALESCE(NULLIF(Value, ''), 'Garbage Value') - NULLIF खाली स्ट्रिंग को NULL में बदलता है, फिर COALESCE पहला गैर-NULL लेता है।