您的位置:首页 > 数据库

MSSQL_全角转半角函数

2014-11-18 17:15 309 查看
CREATE FUNCTION com_f_Convert_test(

@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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: