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

MySQL में CONCAT और CONCAT_WS से 2 से अधिक फील्ड कैसे जोड़ें?

MySQL में 2 से अधिक कॉलम/फील्ड को जोड़ने (कॉनकैटनेट) के लिए CONCAT() या अधिक सुविधाजनक CONCAT_WS() (With Separator) फंक्शन का उपयोग करें।

सिंटैक्स

CONCAT() - मैनुअल सेपरेटर

SELECT CONCAT(col1, '/', col2, '/', col3, '/', col4) AS combined FROM table;

CONCAT_WS() - ऑटोमैटिक सेपरेटर (अनुशंसित)

SELECT CONCAT_WS('/', col1, col2, col3, col4) AS combined FROM table;

उदाहरण के साथ समझें

टेबल बनाएं:

CREATE TABLE MoreThan2ColumnConcat (
    Id INT,
    Name VARCHAR(20),
    Age INT,
    Marks INT
);

रिकॉर्ड डालें:

INSERT INTO MoreThan2ColumnConcat VALUES(1, 'John', 24, 89);
INSERT INTO MoreThan2ColumnConcat VALUES(11, 'Larry', 25, 90);
INSERT INTO MoreThan2ColumnConcat VALUES(15, 'Mike', 26, 79);
INSERT INTO MoreThan2ColumnConcat VALUES(16, 'Sam', 21, 99);

सभी रिकॉर्ड देखें:

SELECT * FROM MoreThan2ColumnConcat;

आउटपुट:

+------+-------+------+-------+
| Id   | Name  | Age  | Marks |
+------+-------+------+-------+
| 1    | John  | 24   | 89    |
| 11   | Larry | 25   | 90    |
| 15   | Mike  | 26   | 79    |
| 16   | Sam   | 21   | 99    |
+------+-------+------+-------+

CONCAT() से जोड़ें (मैनुअल सेपरेटर)

SELECT CONCAT(Id, '/', Name, '/', Age, '/', Marks) AS ConcatMoreFields 
FROM MoreThan2ColumnConcat;

परिणाम:

+------------------+
| ConcatMoreFields |
+------------------+
| 1/John/24/89     |
| 11/Larry/25/90   |
| 15/Mike/26/79    |
| 16/Sam/21/99     |
+------------------+

CONCAT_WS() से जोड़ें (आसान, NULL-सेफ)

SELECT CONCAT_WS('/', Id, Name, Age, Marks) AS ConcatMoreFields 
FROM MoreThan2ColumnConcat;

परिणाम: समान

CONCAT vs CONCAT_WS: महत्वपूर्ण अंतर

विशेषताCONCAT()CONCAT_WS()
सेपरेटरमैनुअल लिखना पड़ता हैपहला आर्गुमेंट = सेपरेटर
NULL हैंडलिंगकोई भी NULL → परिणाम NULLNULL को छोड़ देता है
पठनीयताकम (बहुत सेपरेटर)अधिक (साफ सिंटैक्स)
प्रदर्शनथोड़ा तेजनगण्य अंतर

NULL हैंडलिंग डेमो

यदि Age NULL हो:

INSERT INTO MoreThan2ColumnConcat VALUES(20, 'Test', NULL, 50);

-- CONCAT: पूरा परिणाम NULL
SELECT CONCAT(Id, '/', Name, '/', Age, '/', Marks) FROM ... WHERE Id = 20;
-- परिणाम: NULL

-- CONCAT_WS: NULL छोड़कर बाकी जोड़ता है
SELECT CONCAT_WS('/', Id, Name, Age, Marks) FROM ... WHERE Id = 20;
-- परिणाम: '20/Test/50'

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

-- पूरा पता बनाएं
SELECT CONCAT_WS(', ', address_line1, address_line2, city, state, pincode) AS full_address
FROM customers;

-- CSV एक्सपोर्ट के लिए
SELECT CONCAT_WS(',', id, name, email, phone) FROM users;

-- लॉग एंट्री
SELECT CONCAT_WS(' | ', DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'), user_id, action, details) 
FROM audit_log;

नोट

  • CONCAT_WS = CONCAT With Separator
  • पहला आर्गुमेंट सेपरेटर है, बाकी जोड़ने वाले मान
  • सभी आर्गुमेंट NULL हों तो खाली स्ट्रिंग लौटाता है (NULL नहीं)
  • संख्यात्मक कॉलम स्वचालित रूप से स्ट्रिंग में बदल जाते हैं
  1. - MySQL क्वेरी में "नॉट ग्रेटर दैन" (<=) ऑपरेटर का उपयोग कैसे करें?

    MySQL में नॉट ग्रेटर दैन (नहीं अधिक) तुलना के लिए <= (कम या बराबर) ऑपरेटर का उपयोग किया जाता है। यह सरल और मानक SQL सिंटैक्स है। सिंटैक्स SELECT * FROM your_table_name WHERE your_column_name <= value; व्यावहारिक उदाहरण छात्रों के अंकों वाली एक टेबल बनाते हैं: INSERT INTO DemoTable1480 VALUE

  1. - पायथन - दो से अधिक पैंडास डेटाफ्रेम को कैसे जोड़ें

    दो से अधिक पैंडास डेटाफ्रेम को जोड़ने के लिए, concat() मेथड का उपयोग करें। पहले, आवश्यक लाइब्रेरी आयात करें: import pandas as pd पहला डेटाफ्रेम बनाएं: dataFrame1 = pd.DataFrame( { Col1: [10, 20, 30], Col2: [40, 50, 60], Col3: [70, 80, 90], }, index=[0, 1, 2], ) द

  1. - पायथन टुपल के साथ SQL IN क्वेरी कैसे लिखें?

    SQL IN क्वेरी लिखने के लिए, आपको यह सुनिश्चित करना होगा कि आप प्लेसहोल्डर का उपयोग करके क्वेरी में प्लेसहोल्डर प्रदान करते हैं ताकि क्वेरी ठीक से एस्केप हो। उदाहरण के लिए: उदाहरण my_tuple = (Hello, world, John) placeholder = ? placeholders = , .join(placeholder for _ in my_tuple) query = SELECT nam