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

MySQL COALESCE() फंक्शन से NULL मान को डिफ़ॉल्ट मान से अपडेट करें

COALESCE() फंक्शन को UPDATE स्टेटमेंट में उपयोग करके NULL मानों को डिफ़ॉल्ट मान से बदल सकते हैं।

नमूना डेटा: Employee टेबल

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

अपडेट क्वेरीज़

mysql> UPDATE Employee 
SET Salary = COALESCE(Salary, 20000) 
WHERE Id = 5;
Query OK, 1 row affected (0.09 sec)

mysql> UPDATE Employee 
SET Salary = COALESCE(Salary, 30000) 
WHERE Id = 6;
Query OK, 1 row affected (0.06 sec)

परिणाम

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  |
+----+--------+--------+

व्याख्या

  • COALESCE(Salary, 20000) — यदि Salary NULL है तो 20000 उपयोग करें, अन्यथा मौजूदा Salary रखें
  • WHERE क्लॉज केवल विशिष्ट पंक्तियाँ लक्षित करता है
  • गैर-NULL मान अपरिवर्तित रहते हैं

बल्क अपडेट (सभी NULL एक साथ)

UPDATE Employee 
SET Salary = COALESCE(Salary, 25000) 
WHERE Salary IS NULL;

लाभ

  • केस स्टेटमेंट से सरल: CASE WHEN Salary IS NULL THEN 20000 ELSE Salary END
  • पठनीय और संक्षिप्त
  • शॉर्ट-सर्किट: गैर-NULL पर दूसरा तर्क मूल्यांकित नहीं होता
  1. - MySQL में कॉलम का अधिकतम मान कैसे सेलेक्ट करें?

    आप अधिकतम मान सेलेक्ट करने के लिए ORDER BY क्लॉज या एग्रीगेट फ़ंक्शन MAX() का उपयोग कर सकते हैं। ORDER BY का उपयोग करके सिंटैक्स इस प्रकार है: select yourColumnName from yourTableName order by yourColumnName desc limit 0,1; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable    (

  1. - MySQL में कॉलम का नाम कैसे खोजें?

    MySQL में कॉलम नाम खोजने के दो तरीके: SHOW COLUMNS और INFORMATION_SCHEMA MySQL में किसी टेबल के कॉलम नाम प्राप्त करने के दो मुख्य तरीके हैं: SHOW COLUMNS कमांड और INFORMATION_SCHEMA.COLUMNS टेबल। उदाहरण टेबल बनाना CREATE TABLE DemoTable603 ( ClientId INT NOT NULL AUTO_INCREMENT, ClientName

  1. Java में PreparedStatement का उपयोग करके MySQL DATE कॉलम में डेट इन्सर्ट कैसे करें Java में PreparedStatement का उपयोग करके MySQL DATE कॉलम में डेट इन्सर्ट कैसे करें

    Java PreparedStatement से MySQL DATE कॉलम में डेट इन्सर्ट करना Java से MySQL DATE कॉलम में वर्तमान डेट इन्सर्ट करने के लिए PreparedStatement और java.sql.Date का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( PassengerId INT, PassengerName VARCHAR(40), ArrivalD