MySQL में, CONCAT_WS() फ़ंक्शन आपको संयोजित तारों में विभाजक जोड़ने की अनुमति देता है। यदि आप केवल CONCAT() . का उपयोग करते हैं फ़ंक्शन, आपके पास कोई विभाजक नहीं होगा (जब तक कि आप स्पष्ट रूप से प्रत्येक स्ट्रिंग तर्क के बीच एक विभाजक को तर्क के रूप में नहीं जोड़ते)।
CONCAT_WS() . का सामान्य उपयोग कार्य अल्पविराम-सीमांकित सूची बनाना है।
यहां एक उदाहरण दिया गया है:
SELECT CONCAT_WS(',','Sydney', 'Australia') AS Location;
परिणाम:
+------------------+ | Location | +------------------+ | Sydney,Australia | +------------------+
और यदि आप चाहें तो इसमें एक स्थान जोड़ सकते हैं:
SELECT CONCAT_WS(', ','Sydney', 'Australia') AS Location;
परिणाम:
+-------------------+ | Location | +-------------------+ | Sydney, Australia | +-------------------+
विभाजक
यह कहने के लिए कुछ नहीं है कि विभाजक अल्पविराम होना चाहिए। विभाजक कोई भी स्ट्रिंग हो सकता है।
यहां पिछले वाले जैसा ही उदाहरण दिया गया है, सिवाय इसके कि यह एक अलग विभाजक का उपयोग करता है।
SELECT CONCAT_WS(' - ','Paris', 'France') AS Location;
परिणाम:
+----------------+ | Location | +----------------+ | Paris - France | +----------------+
एक डेटाबेस उदाहरण
यहां एक डेटाबेस से डेटा पुनर्प्राप्त करने और अल्पविराम द्वारा अलग किए गए दो स्तंभों को एक में संयोजित करने का एक उदाहरण दिया गया है:
SELECT CONCAT_WS(', ', city.Name, country.Name ) AS Location
FROM city
INNER JOIN country ON
city.CountryCode = country.Code
WHERE country.Code = 'NZL';
परिणाम:
+---------------------------+ | Location | +---------------------------+ | Auckland, New Zealand | | Christchurch, New Zealand | | Manukau, New Zealand | | North Shore, New Zealand | | Waitakere, New Zealand | | Wellington, New Zealand | | Dunedin, New Zealand | | Hamilton, New Zealand | | Lower Hutt, New Zealand | +---------------------------+
शून्य मान
यदि कोई तर्क NULL है मान, MySQL उस मान और उसके विभाजक को छोड़ देगा, लेकिन यह अभी भी दूसरों को संसाधित करेगा।
उदाहरण:
SELECT CONCAT_WS(', ','Auckland', NULL, 'New Zealand') AS Location;
परिणाम:
+-----------------------+ | Location | +-----------------------+ | Auckland, New Zealand | +-----------------------+
शून्य मान विभाजक
यदि विभाजक स्वयं एक NULL है मान, संयोजन संचालन NULL लौटाएगा ।
उदाहरण:
SELECT CONCAT_WS(NULL,'Auckland', NULL, 'New Zealand') AS Location;
परिणाम:
+----------+ | Location | +----------+ | NULL | +----------+
यह MySQL और T-SQL (SQL Server, Azure) के बीच के अंतरों में से एक है। T-SQL में, यदि विभाजक एक NULL है मान, स्ट्रिंग मान अभी भी संयोजित हैं, लेकिन एक विभाजक के बिना।