非法字符串处理.sql

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_replace]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_replace]
GO

/*--非法字符替换函数

 去掉字符串中,小于32的字符
 保留 TAB  char(9)
         换行 char(10)
         回车 char(13)
 如果上述字符也不需要,则将函数中的注释删除
--邹建 2004.09(引用请保留此信息)--*/

/*--调用示例

 --调用函数进行替换处理的示例
 declare @s varchar(10)
 set @s='a '+'b'+char(11)+'c'
 
 select dbo.f_replace(@s)
--*/
create function f_replace(
@str varchar(8000)
)returns varchar(8000)
as
begin
 select @str=replace(@str,a,'')
 from(select a=N''
  union all select N'' union all select N''
  union all select N'' union all select N''
  union all select N'' union all select N''
  union all select N''
--  union all select N' ' --TAB  char(9)
--  union all select N'
--  '      --换行 char(10)
  union all select N' ' union all select N' '
--  union all select N'
--  '      --回车 char(13)
  union all select N'' union all select N''
  union all select N'' union all select N''
  union all select N'' union all select N''
  union all select N'' union all select N''
  union all select N'' union all select N''
  union all select N'' union all select N''
  union all select N'

你可能感兴趣的:(字符串处理)