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

MySQL में COALESCE() से NULL कॉलम के लिए डिफ़ॉल्ट स्ट्रिंग लौटाना

MySQL में NULL मानों के स्थान पर एक विशिष्ट डिफ़ॉल्ट स्ट्रिंग लौटाने के लिए COALESCE() फ़ंक्शन का उपयोग किया जाता है। यह IFNULL() से अधिक शक्तिशाली है क्योंकि यह एकाधिक तर्क स्वीकार करता है।

उदाहरण के लिए टेबल बनाना

mysql> CREATE TABLE DemoTable (
    Name VARCHAR(100)
);

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

mysql> INSERT INTO DemoTable VALUES('John'), (NULL), (NULL), ('David');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+-------+
| Name  |
+-------+
| John  |
| NULL  |
| NULL  |
| David |
+-------+

NULL को 'Not Valid' से बदलने की क्वेरी

mysql> SELECT COALESCE(Name, 'Not Valid') FROM DemoTable;

आउटपुट

+-----------------------------+
| COALESCE(Name, 'Not Valid') |
+-----------------------------+
| John                        |
| Not Valid                   |
| Not Valid                   |
| David                       |
+-----------------------------+

लाभ: COALESCE(val1, val2, val3, ...) पहला नॉन-NULL मान लौटाता है। यह ANSI SQL मानक है और अधिकांश डेटाबेस में काम करता है। IFNULL() केवल दो तर्क लेता है और MySQL-विशिष्ट है।

  1. - MySQL में ALTER TABLE का उपयोग करके तारीख कॉलम को NULL अनुमति दें

    ALTER TABLE ... MODIFY COLUMN का उपयोग करके NOT NULL प्रतिबंध को हटाएं और तारीख कॉलम में NULL मानों की अनुमति दें। सिंटैक्स ALTER TABLE yourTableName MODIFY COLUMN yourColumnName DATE NULL; NOT NULL के साथ टेबल बनाना CREATE TABLE DemoTable (ShippingDate DATE NOT NULL); Query OK, 0 rows affected (

  1. - MySQL में IFNULL से कॉलम में NULL मानों को विशिष्ट मान से बदलें

    IFNULL(expr, default) फ़ंक्शन का उपयोग करके क्वेरी परिणाम में NULL मानों को निर्दिष्ट डिफ़ॉल्ट मान (जैसे Robert) से बदलें। टेबल बनाएं mysql> CREATE TABLE DemoTable1878 (FirstName VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1878 VALUES(Chris), (NULL), (David), (NULL); NULL को Robert

  1. - MySQL में NOT NULL बाधा से कॉलम को खाली न रहने दें

    कॉलम परिभाषा में NOT NULL बाधा जोड़कर उस कॉलम में NULL मान डालने से रोकें। टेबल बनाएं mysql> CREATE TABLE DemoTable1895 ( Id INT NOT NULL, FirstName VARCHAR(20), LastName VARCHAR(20) NOT NULL ); डेटा डालें (त्रुटि प्रदर्शन) mysql> INSERT INTO DemoTable1895 VALUES(100, John, Smith