CONCAT_WS() के साथ एकाधिक कॉलम को जोड़कर एक कॉलम में संग्रहीत करना
INSERT के समय एकाधिक कॉलम के मानों को विभाजक के साथ जोड़कर एक ही कॉलम में संग्रहीत करने के लिए CONCAT_WS() (With Separator) का उपयोग करें।
टेबल निर्माण
mysql> CREATE TABLE DemoTable (
Name VARCHAR(100),
Age INT,
CountryName VARCHAR(100),
PersonInformation TEXT
);
Query OK, 0 rows affected (0.67 sec)
INSERT में CONCAT_WS का उपयोग
mysql> INSERT INTO DemoTable VALUES('John',21,'US',CONCAT_WS('-',Name,Age,CountryName));
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('Chris',22,'AUS',CONCAT_WS('-',Name,Age,CountryName));
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('Bob',24,'UK',CONCAT_WS('-',Name,Age,CountryName));
Query OK, 1 row affected (0.17 sec)
परिणाम
mysql> SELECT * FROM DemoTable;
+-------+------+-------------+-------------------+ | Name | Age | CountryName | PersonInformation | +-------+------+-------------+-------------------+ | John | 21 | US | John-21-US | | Chris | 22 | AUS | Chris-22-AUS | | Bob | 24 | UK | Bob-24-UK | +-------+------+-------------+-------------------+ 3 rows in set (0.00 sec)
व्याख्या: CONCAT_WS('-', Name, Age, CountryName) हाइफ़न (-) से मानों को जोड़ता है। CONCAT_WS NULL मानों को स्वचालित रूप से छोड़ देता है (जबकि CONCAT NULL होने पर पूरा परिणाम NULL कर देता है)।
नोट: यह डिनॉर्मलाइजेशन है। सामान्यीकृत डिज़ाइन में अलग कॉलम बेहतर होते हैं। यह लॉगिंग, ऑडिट, या निर्यात के लिए उपयोगी हो सकता है।