Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में एक संयोजित स्ट्रिंग में एक सेपरेटर कैसे जोड़ें - CONCAT_WS ()

SQL सर्वर और Azure में, यदि आपको दो या अधिक स्ट्रिंग्स को संयोजित करने की आवश्यकता है, तो आप T-SQL CONCAT() का उपयोग कर सकते हैं समारोह। किसी भी बुनियादी संयोजन ऑपरेशन की तरह, यह फ़ंक्शन स्ट्रिंग्स को एक साथ, एंड-टू-एंड जोड़ता है।

लेकिन क्या होगा यदि आपको प्रत्येक स्ट्रिंग के बीच विभाजक जोड़ने की आवश्यकता है?

उदाहरण के लिए, आप स्ट्रिंग की अल्पविराम से अलग की गई सूची बनाना चाह सकते हैं। इस मामले में, आप प्रत्येक स्ट्रिंग के बीच एक अल्पविराम डालना चाहेंगे। इस तरह:

Paris, France

इसके बजाय:

ParisFrance

सौभाग्य से, T-SQL CONCAT_WS() प्रदान करता है फ़ंक्शन जो आपको ठीक ऐसा करने में मदद करता है। CONCAT_WS() फ़ंक्शन बिल्कुल CONCAT() की तरह काम करता है फ़ंक्शन, सिवाय इसके कि इसमें एक अतिरिक्त तर्क की आवश्यकता होती है - वह विभाजक जिसका आप उपयोग करना चाहते हैं।

यहां एक उदाहरण दिया गया है:

SELECT CONCAT_WS(',','Paris', 'France') AS Location;

परिणाम:

Location    
------------
Paris,France

और यदि आप चाहें तो इसमें एक स्थान जोड़ सकते हैं:

SELECT CONCAT_WS(', ','Paris', 'France') AS Location;

परिणाम:

Location     
-------------
Paris, France

विभाजक

यह कहने के लिए कुछ नहीं है कि विभाजक अल्पविराम होना चाहिए। विभाजक किसी भी वर्ण प्रकार की अभिव्यक्ति हो सकता है (charncharnvarchar , या varchar )।

यहां पिछले वाले जैसा ही उदाहरण दिया गया है, सिवाय इसके कि यह एक अलग विभाजक का उपयोग करता है।

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 = 'THA';

परिणाम:

Location                   
---------------------------
Bangkok, Thailand          
Nonthaburi, Thailand       
Nakhon Ratchasima, Thailand
Chiang Mai, Thailand       
Udon Thani, Thailand       
Hat Yai, Thailand          
Khon Kaen, Thailand        
Pak Kret, Thailand         
Nakhon Sawan, Thailand     
Ubon Ratchathani, Thailand 
Songkhla, Thailand         
Nakhon Pathom, Thailand

शून्य मान

यदि कोई तर्क NULL है मान, SQL सर्वर उस मान और उसके विभाजक को छोड़ देगा, लेकिन यह अभी भी दूसरों को संसाधित करेगा।

उदाहरण:

SELECT CONCAT_WS(', ','Paris', NULL, 'France') AS Location;

परिणाम:

Location     
-------------
Paris, France

शून्य मान विभाजक

यदि विभाजक स्वयं एक NULL है मान, संयोजन संचालन अभी भी किया जाएगा, लेकिन एक विभाजक के बिना।

उदाहरण:

SELECT CONCAT_WS(NULL,'Paris', NULL, 'France') AS Location;

परिणाम:

Location   
-----------
ParisFrance

यह T-SQL और MySQL के बीच के अंतरों में से एक है (MySQL में एक CONCAT_WS() भी है। समारोह)। MySQL में, यदि विभाजक एक NULL है मान, संयोजन का परिणाम NULL . में होता है मूल्य।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) में एक डेटाबेस मेल खाता बनाएँ

  2. SQL सर्वर 2017 पुनर्स्थापित करें

  3. Transact SQL में NOT EXISTS के विपरीत EXCEPT का उपयोग कब करें?

  4. SQL सर्वर 2016 क्वेरी स्टोर GUI की खोज करना

  5. मैं SQL सर्वर प्रबंधन स्टूडियो के साथ एक समग्र कुंजी कैसे बनाऊं?