0

特殊文字で構成されるデータがありますが、出力にその特殊文字またはASCII文字が表示されません。英数字とスペースのみが必要です。他のすべての文字は null に置き換える必要があります。これを処理する方法を提案してください。patindex が正常に動作することがわかりましたが、文字列から複数の文字を置き換えるかどうかはわかりません

declare @a char
select @a = 'tHo mas@fi5.com'

my output should be tHo masfi5com
4

1 に答える 1

1
DECLARE @str VARCHAR(400)
    Declare @expres as varchar(50) = '%[~,@,#,$,%,&,*,(,),.,!]%'
SET @str = 'tHo mas@fi5.com'
WHILE PATINDEX( @expres, @str ) > 0 
          SET @str = Replace(REPLACE( @str, SUBSTRING( @str, PATINDEX( @expres, @str ), 1 ),''),'-',' ')
print @str
于 2013-10-01T08:58:24.720 に答える