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

कॉलम से मानों को जोड़ते समय किसी कॉलम में NULL मान होने पर CONCAT_WS() फंक्शन का CONCAT() फंक्शन पर क्या लाभ है?


हम जानते हैं कि CONCAT() फंक्शन NULL वापस करता है यदि कोई भी आर्गुमेंट NULL है लेकिन CONCAT_WS() फंक्शन केवल तभी NULL वापस करता है जब पहला आर्गुमेंट यानी सेपरेटर NULL हो और यह किसी अन्य NULL को अनदेखा करता है। हम कह सकते हैं कि यह CONCAT_WS() फंक्शन का CONCAT() फंक्शन पर लाभ है जब हम कॉलम से मानों को जोड़ना चाहते हैं और किसी कॉलम में NULL मान है। इसे समझने के लिए, हम 'Student_name' टेबल के उदाहरण पर विचार करते हैं जिसमें निम्न डेटा है:

mysql> Select * from Student_Name;
+---------+-------+---------+
| FName   | Mname | Lname   |
+---------+-------+---------+
| Rahul   | NULL  | Singh   |
| Gaurav  | Kumar | NULL    |
| Harshit | NULL  | Khurana |
| Yash    | Pal   | Sharma  |
+---------+-------+---------+
4 rows in set (0.00 sec)

अब, मान लीजिए यदि हम Fname, Mname और Lname कॉलम के मानों को जोड़ना चाहते हैं तो निम्न आउटपुट होगा:

mysql> Select CONCAT(Fname,Mname,Lname)AS Name from Student_Name;
+---------------+
| Name          |
+---------------+
| NULL          |
| NULL          |
| NULL          |
| YashPalSharma |
+---------------+
4 rows in set (0.00 sec)

लेकिन, यदि हम CONCAT_WS() फंक्शन का उपयोग करेंगे तो यह निम्न क्वेरी में दिखाए अनुसार NULL को अनदेखा करेगा:

mysql> Select CONCAT_WS(' ',Fname,Mname,Lname)AS Name from student_name;
+-----------------+
| Name            |
+-----------------+
| Rahul Singh     |
| Gaurav Kumar    |
| Harshit Khurana |
| Yash Pal Sharma |
+-----------------+
4 rows in set (0.00 sec)

  1. - MySQL में NULL और गैर-NULL मानों वाले एकाधिक कॉलम से अधिकतम मान कैसे प्राप्त करें?

    MySQL में एकाधिक कॉलम से प्रति पंक्ति अधिकतम मान प्राप्त करने के लिए GREATEST() के साथ COALESCE() का उपयोग करें। COALESCE NULL को डिफ़ॉल्ट मान (जैसे 0) में बदलता है। फ़ंक्शन COALESCE(val, default) - पहला गैर-NULL मान लौटाता है GREATEST(val1, val2, ...) - सबसे बड़ा मान लौटाता है उदाहरण तालिका बना

  1. - MySQL में दो कॉलम जोड़ें जब उनमें से एक का मान NULL हो

    क्वेरी चलाते समय किसी भी समस्या से बचने के लिए IFNULL() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1793 ( StudentFirstName varchar(20), StudentLastName varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

  1. - MySQL में दो कॉलम के मान गिनें और NULL को बाहर रखें

    COUNT() फ़ंक्शन से NULL मानों को छोड़कर कॉलम मान गिनना COUNT(कॉलम_नाम) स्वचालित रूप से NULL मानों को अनदेखा करता है। दो कॉलम के गैर-NULL मानों का कुल योग पाने के लिए दोनों COUNT को जोड़ें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1975 ( StudentName varchar(20), StudentMarks int ); Q