SqlServer数据库全角转换成半角
发布时间:2020-12-12 13:28:39 所属栏目:MsSql教程 来源:网络整理
导读: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??
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,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,1))+@step))?,@i=PATINDEX(@pat???COLLATE???LATIN1_GENERAL_BIN,@str)? RETURN(@str)? END? GO调用:update?table1?set?column1=dbo.f_Convert(column1,0); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |