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

MySQL में COALESCE से NULL पंक्ति के साथ कॉलम गुणा करें

जब किसी संख्यात्मक कॉलम में NULL हो, तो गणना (जैसे गुणा) का परिणाम NULL हो जाता है। COALESCE() का उपयोग करके NULL को डिफ़ॉल्ट मान (जैसे 1) से बदल सकते हैं।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1842 (
    NumberOfItems INT,
    Amount INT
);

डेटा डालें (एक पंक्ति में NULL)

mysql> INSERT INTO DemoTable1842 VALUES(10, 40);
mysql> INSERT INTO DemoTable1842 VALUES(20, 5);
mysql> INSERT INTO DemoTable1842 VALUES(NULL, 10);

डेटा देखें

+---------------+--------+
| NumberOfItems | Amount |
+---------------+--------+
|            10 |     40 |
|            20 |      5 |
|          NULL |     10 |
+---------------+--------+

COALESCE के साथ गुणा करें

mysql> SELECT NumberOfItems, Amount,
    COALESCE(NumberOfItems, 1) * Amount AS Total
    FROM DemoTable1842;

आउटपुट:

+---------------+--------+-------+
| NumberOfItems | Amount | Total |
+---------------+--------+-------+
|            10 |     40 |   400 |
|            20 |      5 |   100 |
|          NULL |     10 |    10 |
+---------------+--------+-------+

व्याख्या

  • COALESCE(NumberOfItems, 1) → यदि NumberOfItems NULL है तो 1 लौटाता है, अन्यथा वही मान।
  • तीसरी पंक्ति: 1 * 10 = 10 (NULL के बजाय)।

COALESCE vs IFNULL

फ़ंक्शनपैरामीटरमानक
COALESCE2 या अधिकANSI SQL (पोर्टेबल)
IFNULLकेवल 2MySQL-विशिष्ट

अन्य उपयोग

  • COALESCE(col1, col2, col3, 0) - पहला गैर-NULL मान चुनें।
  • COALESCE(price, 0) * qty - NULL कीमत को 0 मानें।
  1. - MySQL में खाली कॉलम फ़ील्ड को NULL मानना

    खाली स्ट्रिंग को NULL में बदलना कभी-कभी डेटा में खाली स्ट्रिंग () होती है जिसे तार्किक रूप से NULL माना जाना चाहिए। इसे UPDATE के साथ ठीक किया जा सकता है। तालिका और डेटा INSERT INTO DemoTable1362(ClientName) VALUES(NULL); खाली स्ट्रिंग को NULL में अपडेट करना WHERE ClientName = OR LENGTH(Client

  1. - MySQL में कॉलम मानों को शफ़ल करना

    परिचय MySQL में ORDER BY RAND() का उपयोग करके टेबल की पंक्तियों को यादृच्छिक क्रम में प्राप्त किया जा सकता है, जिससे प्रभावी रूप से कॉलम मान शफ़ल हो जाते हैं। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.91 sec) INSERT INTO DemoTable1557(SubjectName) VALUES(C); Query OK, 1 ro

  1. - उदाहरणों के साथ MySQL AUTO_INCREMENT

    आइए समझते हैं कि AUTO_INCREMENT कैसे काम करता है: AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें: क्वेरी CREATE TABLE tableName ( id MEDIUMINT NOT NULL