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

SQL क्वेरी - परिणाम को एक स्ट्रिंग में जोड़ना

यदि आप SQL सर्वर 2005 या इसके बाद के संस्करण पर हैं, तो आप इस FOR XML PATH & STUFF का उपयोग कर सकते हैं चाल:

DECLARE @CodeNameString varchar(100)

SELECT 
   @CodeNameString = STUFF( (SELECT ',' + CodeName 
                             FROM dbo.AccountCodes 
                             ORDER BY Sort
                             FOR XML PATH('')), 
                            1, 1, '')

FOR XML PATH('') मूल रूप से आपके स्ट्रिंग्स को एक, लंबे XML परिणाम (कुछ ,code1,code2,code3 में संयोजित करता है) आदि) और STUFF पहले वर्ण पर "कुछ नहीं" वर्ण डालता है, उदा। आपको वह परिणाम देने के लिए जो आप शायद खोज रहे हैं, "अनावश्यक" पहले अल्पविराम को मिटा देता है।

अद्यतन करें: ठीक है - मैं टिप्पणियों को समझता हूं - यदि डेटाबेस तालिका में आपके पाठ में पहले से ही < . जैसे वर्ण हैं , > या & , फिर मेरा वर्तमान समाधान वास्तव में उन्हें < . में एन्कोड करेगा , > , और &

यदि आपको उस XML एन्कोडिंग में कोई समस्या है - तो हाँ, आपको @KM द्वारा प्रस्तावित समाधान को देखना चाहिए जो उन पात्रों के लिए भी काम करता है। चेतावनी . का एक शब्द मेरी ओर से:यह दृष्टिकोण बहुत अधिक . है संसाधन और प्रसंस्करण गहन - जैसा कि आप जानते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टी-एसक्यूएल में एक सप्ताह की संख्या से तिथियां प्राप्त करें

  2. सी # से थोक डेटाबेस डालने का सबसे अच्छा तरीका क्या है?

  3. तारों को जोड़ने/एकत्रित करने का इष्टतम तरीका

  4. एसक्यूएल सर्वर (टी-एसक्यूएल) में कॉलम का संयोजन कैसे दिखाएं

  5. एक कर्सर के साथ Salesforce में SQL सर्वर डेटा सम्मिलित करना