Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL IF() फंक्शन से NULL मान को कस्टम मान (जैसे 'N/A') से बदलें

IF() फंक्शन का उपयोग करके NULL मानों को परिणाम सेट में कस्टम मान (जैसे 'N/A') से बदल सकते हैं।

समस्या: NULL मान अर्थहीन दिखते हैं

mysql> SELECT * FROM employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | NULL   |
| 8  | Vinay  | NULL   |
+----+--------+--------+

समाधान: IF() फंक्शन

mysql> SELECT ID, Name, IF(Salary IS NULL, 'N/A', Salary) AS 'Salary'
FROM employee;

परिणाम

+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | N/A    |
| 8  | Vinay  | N/A    |
+----+--------+--------+

IF() सिंटैक्स

IF(condition, value_if_true, value_if_false)
  • condition: Salary IS NULL
  • value_if_true: 'N/A' (स्ट्रिंग)
  • value_if_false: Salary (मूल संख्या)

प्रकार संगतता

MySQL स्वचालित रूप से परिणाम प्रकार निर्धारित करता है। यहां संख्या और स्ट्रिंग मिश्रित हैं → परिणाम VARCHAR होता है।

वैकल्पिक: COALESCE/IFNULL

SELECT COALESCE(Salary, 'N/A') FROM employee;  -- काम नहीं करेगा (प्रकार मिसमैच)
SELECT IFNULL(Salary, 'N/A') FROM employee;    -- समान समस्या
-- बेहतर:
SELECT CASE WHEN Salary IS NULL THEN 'N/A' ELSE CAST(Salary AS CHAR) END AS Salary FROM employee;
नोट: IF() सबसे सरल है जब मिश्रित प्रकार (संख्या/स्ट्रिंग) स्वीकार्य हों।
  1. - MySQL में DEFAULT NULL का उपयोग करके डिफ़ॉल्ट मान NULL कैसे सेट करें?

    MySQL में DEFAULT NULL के साथ कॉलम डिफ़ॉल्ट सेट करना MySQL में, आप DEFAULT NULL क्लॉज का उपयोग करके किसी कॉलम के लिए स्पष्ट रूप से NULL को डिफ़ॉल्ट मान के रूप में सेट कर सकते हैं। यह तब उपयोगी होता है जब कोई मान प्रदान नहीं किया जाता है तो कॉलम वैकल्पिक होना चाहिए। उदाहरण: वैकल्पिक कॉलम वाली छात्र

  1. - MySQL में विशेष वर्ण वाले मान को खोजकर NULL से कैसे बदलें?

    MySQL में किसी विशिष्ट मान (जिसमें विशेष वर्ण शामिल हों) को खोजकर उसे NULL से बदलने के लिए, साधारण UPDATE स्टेटमेंट के साथ WHERE क्लॉज़ का उपयोग करें। विशेष वर्णों के लिए स्ट्रिंग लिटरल में उचित एस्केपिंग या कोटिंग आवश्यक है। उदाहरण: अंडरस्कोर वाले कोड को NULL करना डेमो टेबल बनाएं: mysql> CREA

  1. - MySQL में IS NULL से टेबल की एकल पंक्ति में किसी NULL मान की जांच कैसे करें?

    IS NULL ऑपरेटर WHERE col1 IS NULL OR col2 IS NULL किसी भी कॉलम NULL होने पर पंक्ति चुनता है। उदाहरण insert into demo86 values(null,null), (null,John), (David,Mike), (Sam,null); क्वेरी और परिणाम select * from demo86 where value1 is null or value2 is null; +--------+--------+ | value1 | value2 |