sizin GÜNCELLEME açıklamada işlevini çağırabilirsiniz
örn.
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
Çözüm 2: Bir numara tablosunun ile
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)
Çıktı (olgu Hem)
Veri
hello how are u . I am ok . Oh nice
Not - Sadece bazı sesleri ekledim. İhtiyacınız olan sesleri koymanız gerekebilir.
Umut bu sadece rakamlar ve harfler yerine noktalama alanında ne olabileceğini tahmin etmeye çalışarak dahil
@TimC: Çok teşekkürler, bu çözümü beğendim ve uyguladım, ama bir sorunla karşılaştım. Noktalama işaretini çektiğimde, onu kullanarak bir Tam Metin Dizini oluşturabilmem için hesaplanmış bir sütunda kullanmayı düşünüyorum. Ancak, bu yöntemi kullanan sütunu kaldıramıyorum. Herhangi bir fikir? –