sql server 全角與半角字符轉換


         

 

/****** SQL轉換全角/半角函數 開始******/
CREATE FUNCTION ConvertWordAngle (
@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
/****** SQL轉換全角/半角函數 結束******/

--調用示例:
select dbo.ConvertWordAngle(N'(蘇州)賽峰',0);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM