SqlServer数据库全角转换成半角
SqlServer数据库全角转换成半角
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:CREATEFUNCTIONf_Convert(@strNVARCHAR(4000),--要转换的字符串@flagbit-...

复制代码 代码如下:

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mssql数据库学习
热门mssql数据库学习
编程开发子分类