विधि # 1
पहली विधि एक अस्थायी चिह्न के रूप में एक असामान्य प्रतीक संयोजन के साथ शब्दों के बीच अतिरिक्त रिक्त स्थान को बदलना है। फिर आप अस्थायी मार्कर प्रतीकों को लूप के बजाय प्रतिस्थापित फ़ंक्शन का उपयोग कर बदल सकते हैं।
यहां एक कोड उदाहरण है जो स्ट्रिंग चर के भीतर पाठ को बदलता है।
DECLARE @testString AS VARCHAR(256) = ' Test text with random* spacing. Please normalize this spacing!';
SELECT REPLACE(REPLACE(REPLACE(@testString, ' ', '*^'), '^*', ''), '*^', ' ');
निष्पादन समय टेस्ट # 1: इस प्रतिस्थापन विधि के दस रनों में, सर्वर उत्तरों पर औसत प्रतीक्षा समय 1.7 मिलीसेकंड था और कुल निष्पादन समय 4.6 मिलीसेकंड था। निष्पादन समय टेस्ट # 2: सर्वर उत्तरों पर औसत प्रतीक्षा समय 1.7 मिलीसेकंड था और कुल निष्पादन समय 3.7 मिली सेकंड था।
विधि # 2
दूसरी विधि पहले की तरह बहुत सुंदर नहीं है, लेकिन यह काम भी पूरा करता है। यह विधि चार नेस्टिंग (या वैकल्पिक रूप से अधिक) के द्वारा काम करती है बयानों को प्रतिस्थापित करती है जो दो रिक्त स्थानों को एक रिक्त स्थान से बदल देती है।
DECLARE @testString AS VARCHAR(256) = ' Test text with random* spacing. Please normalize this spacing!';
SELECT REPLACE(REPLACE(REPLACE(REPLACE(@testString,' ',' '),' ',' '),' ',' '),' ',' ')
निष्पादन समय टेस्ट # 1: इस प्रतिस्थापन विधि के दस रनों में, सर्वर उत्तरों पर औसत प्रतीक्षा समय 1.9 मिलीसेकंड था और कुल निष्पादन समय 3.8 मिलीसेकंड था। निष्पादन समय टेस्ट # 2: सर्वर उत्तरों पर औसत प्रतीक्षा समय 1.8 मिलीसेकंड था और कुल निष्पादन समय 4.8 मिलीसेकंड था।
विधि # 3
शब्दों के बीच अतिरिक्त रिक्त स्थान को बदलने का तीसरा तरीका एक सरल लूप का उपयोग करना है। आप लूप में अतिरिक्त रिक्त स्थान पर एक चेक कर सकते हैं और फिर लूप के प्रत्येक पुनरावृत्ति के साथ अतिरिक्त रिक्त स्थान को कम करने के लिए प्रतिस्थापित फ़ंक्शन का उपयोग कर सकते हैं।
DECLARE @testString AS VARCHAR(256) = ' Test text with random* spacing. Please normalize this spacing!';
WHILE CHARINDEX(' ',@testString) > 0
SET @testString = REPLACE(@testString, ' ', ' ')
SELECT @testString
निष्पादन समय टेस्ट # 1: इस प्रतिस्थापन विधि के दस रनों में, सर्वर उत्तरों पर औसत प्रतीक्षा समय 1.8 मिलीसेकंड था और कुल निष्पादन समय 3.4 मिलीसेकंड था। निष्पादन समय टेस्ट # 2: सर्वर उत्तरों पर औसत प्रतीक्षा समय 1.9 मिलीसेकंड था और कुल निष्पादन समय 2.8 मिलीसेकंड था।