Sql 如何使用patindex从sybase中的字符串中删除特殊字符
我有由特殊字符组成的数据,但我的输出不应显示特殊字符或ascii字符。我只需要字母数字和空格,她的字符应该替换为空。请建议一些方法来处理这个问题。我知道patindex可以正常工作,但我不确定它是否会替换字符串中的多个字符Sql 如何使用patindex从sybase中的字符串中删除特殊字符,sql,ascii,special-characters,sybase,patindex,Sql,Ascii,Special Characters,Sybase,Patindex,我有由特殊字符组成的数据,但我的输出不应显示特殊字符或ascii字符。我只需要字母数字和空格,她的字符应该替换为空。请建议一些方法来处理这个问题。我知道patindex可以正常工作,但我不确定它是否会替换字符串中的多个字符 declare @a char select @a = 'tHo mas@fi5.com' my output should be tHo masfi5com 谢谢,它工作得很好,但我想对整个表的近30列进行检查。如果我对每一列使用这个while条件,我需要提供30个更新
declare @a char
select @a = 'tHo mas@fi5.com'
my output should be tHo masfi5com
谢谢,它工作得很好,但我想对整个表的近30列进行检查。如果我对每一列使用这个while条件,我需要提供30个更新。在asingle shotHi Ramesh,是否有任何选项可用于整个表,您可以像使用用户函数一样使用它并应用于特定列。
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