欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SqlServer数据库全角转换成半角

程序员文章站 2024-02-10 17:36:04
复制代码 代码如下:create   function   f_convert( @str   nvarchar...
复制代码 代码如下:

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);