Metode # 1
Metode pertama adalah mengganti spasi ekstra antar kata dengan kombinasi simbol yang tidak umum sebagai penanda sementara. Kemudian Anda dapat mengganti simbol penanda sementara menggunakan fungsi ganti, bukan perulangan.
Berikut adalah contoh kode yang menggantikan teks dalam variabel String.
DECLARE @testString AS VARCHAR(256) = ' Test text with random* spacing. Please normalize this spacing!';
SELECT REPLACE(REPLACE(REPLACE(@testString, ' ', '*^'), '^*', ''), '*^', ' ');
Uji Waktu Eksekusi # 1: Dalam sepuluh kali operasi metode penggantian ini, waktu tunggu rata-rata pada balasan server adalah 1,7 milidetik dan total waktu eksekusi adalah 4,6 milidetik. Uji Waktu Eksekusi # 2: Waktu tunggu rata-rata pada balasan server adalah 1,7 milidetik dan total waktu eksekusi adalah 3,7 milidetik.
Metode # 2
Metode kedua tidak seanggun yang pertama, tetapi juga menyelesaikan pekerjaan. Metode ini bekerja dengan menumpuk empat (atau lebih) pernyataan ganti yang menggantikan dua spasi kosong dengan satu spasi kosong.
DECLARE @testString AS VARCHAR(256) = ' Test text with random* spacing. Please normalize this spacing!';
SELECT REPLACE(REPLACE(REPLACE(REPLACE(@testString,' ',' '),' ',' '),' ',' '),' ',' ')
Uji Waktu Eksekusi # 1: Dalam sepuluh kali operasi metode penggantian ini, waktu tunggu rata-rata pada balasan server adalah 1,9 milidetik dan total waktu eksekusi adalah 3,8 milidetik. Uji Waktu Eksekusi # 2: Waktu tunggu rata-rata pada balasan server adalah 1,8 milidetik dan total waktu eksekusi adalah 4,8 milidetik.
Metode # 3
Metode ketiga untuk mengganti spasi ekstra antar kata adalah dengan menggunakan loop sederhana. Anda dapat melakukan pemeriksaan pada spasi ekstra di loop sementara dan kemudian menggunakan fungsi replace untuk mengurangi spasi ekstra dengan setiap iterasi loop.
DECLARE @testString AS VARCHAR(256) = ' Test text with random* spacing. Please normalize this spacing!';
WHILE CHARINDEX(' ',@testString) > 0
SET @testString = REPLACE(@testString, ' ', ' ')
SELECT @testString
Uji Waktu Eksekusi # 1: Dalam sepuluh kali operasi metode penggantian ini, waktu tunggu rata-rata pada balasan server adalah 1,8 milidetik dan total waktu eksekusi adalah 3,4 milidetik. Uji Waktu Eksekusi # 2: Waktu tunggu rata-rata pada balasan server adalah 1,9 milidetik dan total waktu eksekusi adalah 2,8 milidetik.