--(此函数部分思路参考了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) --运行结果 /* ~~~&#
[MSSQL]角半角转换函数
关注
打赏