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
全角、半角替换函数
原创
©著作权归作者所有:来自51CTO博客作者草宝虫啊的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:openjdk17体验
下一篇:Axure 共享强制签出签入
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Ruoyi使用本地缓存替换Redis
Ruoyi 替换Redis 实现大部分功能,基本可用
ruoyi redis替换