Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何使用patindex从sybase中的字符串中删除特殊字符_Sql_Ascii_Special Characters_Sybase_Patindex - Fatal编程技术网

Sql 如何使用patindex从sybase中的字符串中删除特殊字符

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个更新

我有由特殊字符组成的数据,但我的输出不应显示特殊字符或ascii字符。我只需要字母数字和空格,她的字符应该替换为空。请建议一些方法来处理这个问题。我知道patindex可以正常工作,但我不确定它是否会替换字符串中的多个字符

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