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 回答