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

MySQL में COALESCE() से पहला नॉन-NULL मान कैसे प्रदर्शित करें?

MySQL में COALESCE() फंक्शन आर्गुमेंट सूची में पहला नॉन-NULL मान लौटाता है। यह NULL मानों को डिफ़ॉल्ट/फॉलबैक मान से बदलने, या एकाधिक कॉलम में से पहला उपलब्ध मान चुनने के लिए अत्यंत उपयोगी है।

सिंटैक्स

COALESCE(value1, value2, ..., valueN)

पहला नॉन-NULL मान लौटाता है; सभी NULL हों तो NULL लौटाता है।

उदाहरण: StudentName या StudentSubject में से पहला नॉन-NULL

डेमो टेबल बनाएं:

mysql> CREATE TABLE DemoTable1927 (
    StudentName VARCHAR(20),
    StudentSubject VARCHAR(20)
);

डेटा इन्सर्ट करें (कुछ NULL के साथ):

mysql> INSERT INTO DemoTable1927 VALUES
('Chris', 'MySQL'),
('David', NULL),
(NULL, 'MongoDB');

डेटा:

+-------------+----------------+
| StudentName | StudentSubject |
+-------------+----------------+
| Chris       | MySQL          |
| David       | NULL           |
| NULL        | MongoDB        |
+-------------+----------------+

COALESCE() के साथ क्वेरी:

mysql> SELECT COALESCE(StudentName, StudentSubject) AS Result
FROM DemoTable1927;

आउटपुट:

+---------+
| Result  |
+---------+
| Chris   |  -- StudentName नॉन-NULL
| David   |  -- StudentName नॉन-NULL (Subject NULL)
| MongoDB |  -- StudentName NULL, Subject नॉन-NULL
+---------+

COALESCE vs IFNULL vs NULLIF

फंक्शनआर्गुमेंटवापसीमानक
COALESCE2+पहला नॉन-NULLANSI SQL
IFNULL2पहला नॉन-NULLMySQL-विशिष्ट
NULLIF2NULL यदि बराबर, अन्यथा पहलाANSI SQL

व्यावहारिक उपयोग मामले

1. NULL को डिफ़ॉल्ट से बदलें

SELECT COALESCE(phone, 'Not Provided') FROM users;

2. एकाधिक फॉलबैक कॉलम

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

3. गणना में NULL सुरक्षा

SELECT price * COALESCE(discount, 0) FROM products;

4. GROUP BY में NULL ग्रुपिंग से बचें

SELECT COALESCE(category, 'Uncategorized') AS cat, COUNT(*)
FROM products GROUP BY cat;

प्रदर्शन नोट

  • COALESCE शॉर्ट-सर्किट मूल्यांकन करता है (पहला नॉन-NULL मिलने पर रुकता है)
  • इंडेक्स उपयोग प्रभावित नहीं होता (WHERE क्लॉज़ में नहीं)
  • एक्सप्रेशन जटिल होने पर ही ओवरहेड

COALESCE ANSI SQL मानक है और पोर्टेबल कोड के लिए IFNULL पर प्राथमिकता दी जाती है।

  1. - MySQL में IFNULL का उपयोग करके NULL मानों को 1 के रूप में प्रदर्शित/अपडेट करें

    MySQL में NULL मानों को संभालना: IFNULL() और COALESCE() MySQL में IFNULL() फ़ंक्शन का उपयोग करके आप NULL मानों को डिफ़ॉल्ट मान से बदल सकते हैं। यह लेख दिखाता है कि कैसे NULL मानों को 1 से अपडेट करें और उन्हें प्रदर्शित करें। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) NULL मानों सहित डेटा

  1. - MySQL में IN क्लॉज और ORDER BY FIELD से निर्दिष्ट क्रम में पंक्तियां चुनें

    IN() और FIELD() से कस्टम क्रम में परिणाम प्राप्त करें IN() क्लॉज से विशिष्ट मान चुनें और FIELD() फ़ंक्शन से कस्टम क्रम में सॉर्ट करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1986 ( Number int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1986 values(50); .

  1. Java में JDBC ResultSet से MySQL टेबल मान प्रदर्शित करें Java में JDBC ResultSet से MySQL टेबल मान प्रदर्शित करें

    टेबल और डेटा insert into demo87 values(John,21), (David,23), (Bob,22); Java कोड: ResultSet से HashMap में डेटा import java.sql.*; import java.util.*; import com.mysql.jdbc.Statement; public class TableValuesDemo { public static void main(String[] args) { Connection con = null;