MySQL में उपयोगकर्ता-परिभाषित चर और CONCAT_WS()
MySQL में CONCAT_WS() (Concatenate With Separator) फ़ंक्शन और उपयोगकर्ता-परिभाषित चरों का उपयोग करके आप कई कॉलम मानों को एक विभाजक के साथ जोड़ सकते हैं और परिणाम को एक चर में संग्रहीत कर सकते हैं।
उदाहरण: ग्राहक का पूरा नाम बनाना
पहले एक ग्राहक टेबल बनाते हैं:
mysql> CREATE TABLE DemoTable1433 (
-> ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ClientFirstName VARCHAR(20),
-> ClientLastName VARCHAR(20)
-> );
Query OK, 0 rows affected (0.58 sec)
mysql> INSERT INTO DemoTable1433 (ClientFirstName, ClientLastName) VALUES ('David', 'Miller');
Query OK, 1 row affected (0.14 sec)
mysql> SELECT * FROM DemoTable1433;
+----------+-----------------+----------------+
| ClientId | ClientFirstName | ClientLastName |
+----------+-----------------+----------------+
| 1 | David | Miller |
+----------+-----------------+----------------+
1 row in set (0.00 sec)
चर में संयोजित स्ट्रिंग संग्रहीत करना
@concat_variable उपयोगकर्ता चर में परिणाम संग्रहीत करें:
mysql> SET @concat_variable := (
-> SELECT CONCAT_WS('-', ClientFirstName, ClientLastName)
-> FROM DemoTable1433
-> );
Query OK, 0 rows affected (0.00 sec)
चर मान प्रदर्शित करना
mysql> SELECT @concat_variable; +------------------+ | @concat_variable | +------------------+ | David-Miller | +------------------+ 1 row in set (0.00 sec)
मुख्य बिंदु
- CONCAT_WS(separator, str1, str2, ...) - विभाजक के साथ स्ट्रिंग्स जोड़ता है, NULL मानों को छोड़ देता है
- उपयोगकर्ता चर (@var_name) - सत्र-विशिष्ट चर जो कनेक्शन के दौरान बने रहते हैं
:=असाइनमेंट ऑपरेटर (चर असाइनमेंट के लिए=से अलग)- एकाधिक पंक्तियों के लिए,
GROUP_CONCAT()का उपयोग करें
CONCAT() बनाम CONCAT_WS()
| फ़ंक्शन | व्यवहार | उदाहरण परिणाम |
|---|---|---|
| CONCAT('A', NULL, 'B') | NULL लौटाता है | NULL |
| CONCAT_WS('-', 'A', NULL, 'B') | NULL को छोड़ देता है | 'A-B' |