您当前的位置: 首页 >  sql

[MSSQL]角半角转换函数

发布时间:2012-02-16 12:35:31 ,浏览量:0

 
--(此函数部分思路参考了CSDN上大力的转换函数) 
--邹建2005.01(引用请保留此信息)--*/ 
go
--创建函数
create function SBC2DBC
( 
@str nvarchar(4000), --要转换的字符串 
@flag bit --转换标志,0转换成半角,1转换成全角 
) 
returns nvarchar(4000) 
as 
begin 
declare @pat nvarchar(8),@step int,@i int,@spc int 
if @flag=0 
select @pat=N'%[!-~]%',@step=-65248,@str=replace(@str,N' ',N' ')
else 
select @pat=N'%[!-~]%',@step=65248,@str=replace(@str,N' ',N' ')
set @i=patindex(@pat collate latin1_general_bin,@str) 
while @i>0 
select @str=replace(@str,substring(@str,@i,1),nchar(unicode(substring(@str,@i,1))+@step)) 
,@i=patindex(@pat collate latin1_general_bin,@str) 
return(@str) 
end

--测试示例
select dbo.SBC2DBC('~~~~ca!b',1)

--运行结果
/*
~~~&#
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    109273博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0486s