SqlServer数据库全角转半角
发布时间:2020-12-12 13:24:55 所属栏目:MsSql教程 来源:网络整理
导读:CREATE ? FUNCTION ? f_Convert( @str ? VARCHAR(max),? --要转换的字符串 @flag ? bit ? ? ? ? ? ? ? ? ? ? ? ? ? ? --转换标志,0转换成半角,1转换成全角 )RETURNS ? varchar(max) AS BEGIN DECLARE ? @pat ? nvarchar(8),@step ? int,@i ? int,@spc ? int
CREATE ? FUNCTION ? f_Convert( @str ? VARCHAR(max),? --要转换的字符串 @flag ? bit ? ? ? ? ? ? ? ? ? ? ? ? ? ? --转换标志,0转换成半角,1转换成全角 )RETURNS ? varchar(max) AS BEGIN DECLARE ? @pat ? nvarchar(8),@step ? int,@i ? int,@spc ? int IF ? @flag=0 begin SELECT ? @pat=N'%[!-~]%',@step=-65248,@str=REPLACE(@str,N' ',N' ? ') end ELSE begin SELECT ? @pat=N'%[!-~]%',@step=65248,N' ? ',N' ') end SET ? @i=PATINDEX(@pat ? COLLATE ? LATIN1_GENERAL_BIN,@str) WHILE ? @i> 0 begin SELECT ? @str=REPLACE(@str,SUBSTRING(@str,@i,1),NCHAR(UNICODE(SUBSTRING(@str,1))+@step)) select ? @i=PATINDEX(@pat ? COLLATE ? LATIN1_GENERAL_BIN,@str) end RETURN(@str) END --调用: --update table1 set column1=dbo.f_Convert(column1,0);
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |