2013-10-01 51 views
0

我有数据至少由特殊字符组成,但我的输出不应显示特殊字符或ascii字符。我只需要字母数字和空格,其他字符应该替换为null。请提出一些方法来处理这我才知道PATINDEX将正常工作,但我不知道它是否会从一个字符串替换多个字符如何使用patindex从sybase中的字符串中删除特殊字符

declare @a char 
select @a = 'tHo [email protected]' 

my output should be tHo masfi5com 

回答

0
DECLARE @str VARCHAR(400) 
    Declare @expres as varchar(50) = '%[~,@,#,$,%,&,*,(,),.,!]%' 
SET @str = 'tHo [email protected]' 
WHILE PATINDEX(@expres, @str) > 0 
      SET @str = Replace(REPLACE(@str, SUBSTRING(@str, PATINDEX(@expres, @str), 1),''),'-',' ') 
print @str 
+0

由于其工作正常,但我想做到这一点的检查整个表格为近30列。如果我使用这个条件每列我需要给30更新。是否有任何选项可以在整个表单上进行单击 – Ramesh

+0

Hi Ramesh, 您可以像使用用户功能一样使用它并应用于特定列。 – Singh

相关问题