2 समाधान
समाधान 1 का प्रस्ताव कर रहा हूँ: एक शोर तालिका बनाने और खाली रिक्त स्थान साथ शोर की जगह
उदाहरण
DECLARE @String VARCHAR(MAX)
DECLARE @Noise TABLE(Noise VARCHAR(100),ReplaceChars VARCHAR(10))
SET @String = 'hello! how * > are % u (: . I am ok :). Oh nice!'
INSERT INTO @Noise(Noise,ReplaceChars)
SELECT '!',SPACE(1) UNION ALL SELECT '@',SPACE(1) UNION ALL
SELECT '#',SPACE(1) UNION ALL SELECT '$',SPACE(1) UNION ALL
SELECT '%',SPACE(1) UNION ALL SELECT '^',SPACE(1) UNION ALL
SELECT '&',SPACE(1) UNION ALL SELECT '*',SPACE(1) UNION ALL
SELECT '(',SPACE(1) UNION ALL SELECT ')',SPACE(1) UNION ALL
SELECT '{',SPACE(1) UNION ALL SELECT '}',SPACE(1) UNION ALL
SELECT '<',SPACE(1) UNION ALL SELECT '>',SPACE(1) UNION ALL
SELECT ':',SPACE(1)
SELECT @String = REPLACE(@String, Noise, ReplaceChars) FROM @Noise
SELECT @String Data
समाधान 2: एक संख्या तालिका के साथ
DECLARE @String VARCHAR(MAX)
SET @String = 'hello! & how * > are % u (: . I am ok :). Oh nice!'
;with numbercte as
(
select 1 as rn
union all
select rn+1 from numbercte where rn<LEN(@String)
)
select REPLACE(FilteredData,' ',SPACE(1)) Data from
(select SUBSTRING(@String,rn,1)
from numbercte
where SUBSTRING(@String,rn,1) not in('!','*','>','<','%','(',')',':','!','&','@','#','$')
for xml path(''))X(FilteredData)
आउटपुट (दोनों मामलों)
डाटा
hello how are u . I am ok . Oh nice
नोट- मैंने अभी कुछ शोर डाले हैं। आपको आवश्यक शोर डालने की आवश्यकता हो सकती है।
आशा इस मदद करता है
@ टीआईएमसी: बहुत धन्यवाद मुझे यह समाधान पसंद आया और इसे लागू किया, लेकिन एक समस्या के साथ आया। एक बार जब मैं विराम चिह्न लेता हूं तो मैं इसे एक गणना वाले कॉलम में उपयोग करने का इरादा रखता हूं जो कि जारी रहता है ताकि मैं उस पर एक पूर्ण पाठ अनुक्रमणिका बना सकूं। हालांकि मैं इस विधि का उपयोग करने वाले कॉलम को जारी नहीं रख सकता। कोई विचार? –