SqlServer数据库全角转换成半角

复制代码 代码如下:

create   function   f_convert(

@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

go调用:update table1 set column1=dbo.f_convert(column1,0);

 

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐