MySQL में CASE WHEN स्टेटमेंट का उपयोग करके खाली स्ट्रिंग या NULL मान के लिए कस्टम डिफ़ॉल्ट नाम प्रदर्शित कर सकते हैं।
उदाहरण: खाली नाम के लिए 'Carol Taylor' दिखाएं
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable (Name VARCHAR(20));
2. डेटा डालें (खाली स्ट्रिंग सहित)
mysql> INSERT INTO DemoTable VALUES('Chris');
mysql> INSERT INTO DemoTable VALUES(''); -- खाली स्ट्रिंग
mysql> INSERT INTO DemoTable VALUES('David');
mysql> INSERT INTO DemoTable VALUES(''); -- खाली स्ट्रिंग
3. CASE WHEN क्वेरी
mysql> SELECT CASE TRIM(IFNULL(Name, ''))
-> WHEN '' THEN 'Carol Taylor'
-> ELSE Name
-> END AS Name
-> FROM DemoTable;
4. परिणाम
+--------------+ | Name | +--------------+ | Chris | | Carol Taylor | | David | | Carol Taylor | +--------------+
फ़ंक्शन व्याख्या
IFNULL(Name, '')- NULL को खाली स्ट्रिंग में बदलता हैTRIM(...)- केवल स्पेस वाले स्ट्रिंग को खाली बनाता हैCASE WHEN '' THEN ...- खाली होने पर डिफ़ॉल्ट मान
सरल विकल्प: IF()
SELECT IF(TRIM(IFNULL(Name, '')) = '', 'Carol Taylor', Name) AS Name FROM DemoTable;
COALESCE विकल्प (पहला गैर-NULL)
SELECT COALESCE(NULLIF(TRIM(Name), ''), 'Carol Taylor') AS Name FROM DemoTable;
तुलना
| विधि | NULL हैंडलिंग | स्पेस-ओनली | पठनीयता |
|---|---|---|---|
| CASE WHEN | IFNULL जरूरी | TRIM से संभाल | अच्छी |
| IF() | IFNULL जरूरी | TRIM से संभाल | सरल |
| COALESCE+NULLIF | स्वचालित | TRIM से संभाल | संक्षिप्त |
उपयोग का मामला
- रिपोर्ट में 'N/A', 'Unknown', 'Not Provided' दिखाना
- निर्यात के लिए डेटा सफाई
- UI प्रदर्शन के लिए डिफ़ॉल्ट मान