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
@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中的全角数字为半角数字
- [转]半角全角互转函数[JS版 VBS版]
- php全角转半角函数
- 我自己写的js 全角半角互相转化函数
- 【叶子函数分享四十四】全角半角转换函数
- 转 C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化
- C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化
- C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化
- PHP 全角转换半角函数
- mssql查询怎样去区分[大小写]及[全角半角]
- 半角全角互转函数[JS版 VBS版]
- MSSQL 全角/半角转换
- sql 实现全角与半角字符转换的处理函数
- 全角转半角函数
- 转全角,半角的函数
- mssql查询怎样去区分[大小写]及[全角半角]
- 用自定义函数替换SQL中的全角数字为半角数字
- 转全角 转半角函数
- C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化<收藏>
- C#中为什么两个函数对全角半角数字字符的处理方式不一样