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)
如果上述字符也不需要,则将函数中的注释删除
*/
/*--调用示例
--调用函数进行替换处理的示例
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'
33.非法字符替换函数
最新推荐文章于 2025-05-07 12:16:14 发布
本文介绍了一个SQL函数f_replace,用于去除字符串中小于32的非法字符,同时保留TAB、换行和回车等特殊字符。该函数通过一系列的replace操作实现,并提供了使用示例。

3073

被折叠的 条评论
为什么被折叠?



