close

USE [TESTDB]
GO

/****** Object:  UserDefinedFunction [dbo].[f_Convert]    Script Date: 2017/7/28 下午 04:21:04 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


--================================================================================
--撰寫日期 : 20150625
--撰寫人員 :
--程式說明 :0轉換成半形,1轉換成全形
--使用範例 :
--規  格 :
--異動記錄 : 供 XXX 使用
--================================================================================
CREATE FUNCTION [dbo].[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

 

arrow
arrow
    文章標籤
    SQL FUNCTION 全形半形字
    全站熱搜
    創作者介紹
    創作者 可樂果公主 的頭像
    可樂果公主

    聽說幸福…在山的那邊 (浪機子)

    可樂果公主 發表在 痞客邦 留言(0) 人氣()