यदि आप 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 द्वारा प्रस्तावित समाधान को देखना चाहिए जो उन पात्रों के लिए भी काम करता है। चेतावनी . का एक शब्द मेरी ओर से:यह दृष्टिकोण बहुत अधिक . है संसाधन और प्रसंस्करण गहन - जैसा कि आप जानते हैं।