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

MySQL में IFNULL/COALESCE से कई कॉलम में NULL को खाली स्ट्रिंग से बदलें

क्वेरी परिणाम में NULL मानों को खाली स्ट्रिंग (या अन्य डिफ़ॉल्ट) से बदलने के लिए IFNULL() या COALESCE() का उपयोग करें।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1849 (
    ClientFirstName VARCHAR(20),
    ClientLastName VARCHAR(20)
);

डेटा डालें (NULL मान सहित)

mysql> INSERT INTO DemoTable1849 VALUES('John', NULL);
mysql> INSERT INTO DemoTable1849 VALUES(NULL, 'Miller');
mysql> INSERT INTO DemoTable1849 VALUES(NULL, NULL);
mysql> INSERT INTO DemoTable1849 VALUES('Chris', 'Brown');

IFNULL से NULL बदलें

mysql> SELECT IFNULL(ClientFirstName, '') AS ClientFirstName,
    IFNULL(ClientLastName, '') AS ClientLastName
    FROM DemoTable1849;

आउटपुट:

+-----------------+----------------+
| ClientFirstName | ClientLastName |
+-----------------+----------------+
| John            |                |
|                 | Miller         |
|                 |                |
| Chris           | Brown          |
+-----------------+----------------+

IFNULL vs COALESCE

फ़ंक्शनपैरामीटरवापसी
IFNULL(expr, default)2expr यदि NOT NULL, अन्यथा default
COALESCE(expr1, expr2, ...)2+पहला गैर-NULL अभिव्यक्ति

COALESCE उदाहरण (एकाधिक फॉलबैक)

SELECT COALESCE(mobile, landline, email, 'No Contact') AS Contact
FROM Customers;

सुझाव

  • एप्लिकेशन लेयर पर NULL हैंडलिंग बेहतर है (क्वेरी लेयर पर नहीं)।
  • CONCAT में NULL होने पर पूरा परिणाम NULL हो जाता है; CONCAT_WS या COALESCE उपयोग करें।
  • JSON आउटपुट के लिए JSON_OBJECT NULL को छोड़ देता है (डिफ़ॉल्ट)।
  1. - MySQL क्वेरी में 'Empty set' को कैसे बदलें?

    परिचय जब कोई क्वेरी कोई पंक्ति नहीं लौटाती (Empty set), और आप इसके बजाय एक डिफ़ॉल्ट मान दिखाना चाहते हैं, तो MySQL का COALESCE() फंक्शन उपयोगी है। यह पहला नॉन-NULL मान लौटाता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (1.64 sec) INSERT INTO DemoTable VALUES(78); Query OK,

  1. - MySQL में GREATEST() से किसी भी कॉलम में NULL वाली पंक्तियाँ खोजें

    GREATEST() फ़ंक्शन अपने तर्कों में से सबसे बड़ा मान लौटाता है। यदि कोई भी तर्क NULL है, तो परिणाम NULL होता है। इस गुण का उपयोग करके किसी भी कॉलम में NULL वाली पंक्तियाँ खोज सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1862 ( Value1 INT, Value2 INT, Value3 INT, Value4 INT ); डेटा डालें

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

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