我的数据由特殊字符组成,但我的输出不应显示特殊字符或ascii字符。我只需要字母数字和空格其他字符应该替换为null。请建议一些方法来处理这个我知道patindex会工作正常,但我不确定它是否会替换字符串中的多个字符
declare @a char
select @a = 'tHo mas@fi5.com'
my output should be tHo masfi5com
答案 0 :(得分:0)
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