IF() फ़ंक्शन से NULL या खाली स्ट्रिंग की जांच और प्रतिस्थापन
MySQL में किसी कॉलम की जांच करने के लिए कि वह NULL है या खाली स्ट्रिंग (''), IF() फ़ंक्शन का उपयोग करें।
सिंटैक्स
SELECT IF(कॉलम IS NULL OR कॉलम = '', 'प्रतिस्थापन_मान', कॉलम) AS नया_नाम FROM टेबल_नाम;
उदाहरण
1. टेबल बनाएं और डेटा डालें (NULL और खाली दोनों)
mysql> CREATE TABLE NullAndEmptyDemo (Id VARCHAR(200));
mysql> INSERT INTO NullAndEmptyDemo VALUES (NULL);
mysql> INSERT INTO NullAndEmptyDemo VALUES ('Smith123');
mysql> INSERT INTO NullAndEmptyDemo VALUES (' ');
mysql> INSERT INTO NullAndEmptyDemo VALUES ('98765');
mysql> INSERT INTO NullAndEmptyDemo VALUES (NULL);
mysql> INSERT INTO NullAndEmptyDemo VALUES ('Carol567');
mysql> INSERT INTO NullAndEmptyDemo VALUES ('');
2. सभी रिकॉर्ड देखें
mysql> SELECT * FROM NullAndEmptyDemo;
+----------+ | Id | +----------+ | NULL | | Smith123 | | | | 98765 | | NULL | | Carol567 | | | +----------+
3. IF() से NULL/खाली को 'NULLId' से बदलें
mysql> SELECT IF(Id IS NULL OR Id = '', 'NULLId', Id) AS UpdatedColumnValue FROM NullAndEmptyDemo;
+--------------------+ | UpdatedColumnValue | +--------------------+ | NULLId | | Smith123 | | NULLId | | 98765 | | NULLId | | Carol567 | | NULLId | +--------------------+
संबंधित फ़ंक्शन
| फ़ंक्शन | उपयोग |
|---|---|
IFNULL(कॉलम, डिफ़ॉल्ट) | केवल NULL के लिए (खाली स्ट्रिंग नहीं) |
COALESCE(कॉलम1, कॉलम2, ..., डिफ़ॉल्ट) | पहला गैर-NULL |
NULLIF(कॉलम, '') | खाली स्ट्रिंग को NULL में बदलें |
CASE WHEN कॉलम IS NULL OR कॉलम = '' THEN ... END | अधिक जटिल तर्क |
WHERE क्लॉज में जांच
-- NULL या खाली वाली पंक्तियाँ SELECT * FROM टेबल WHERE कॉलम IS NULL OR कॉलम = ''; -- NULL और खाली दोनों नहीं SELECT * FROM टेबल WHERE कॉलम IS NOT NULL AND कॉलम != '';
नोट: स्पेस-ओनली स्ट्रिंग
' ' (स्पेस) खाली स्ट्रिंग '' नहीं है। ट्रिम करने के लिए:
WHERE TRIM(कॉलम) = '' OR कॉलम IS NULL