SqlServer数据库全角转换成半角
2022-11-12 09:45:15
内容摘要
这篇文章主要为大家详细介绍了SqlServer数据库全角转换成半角,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
CREATE FUNCTI
文章正文
这篇文章主要为大家详细介绍了SqlServer数据库全角转换成半角,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <code>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 GO调用:update table1 set column1=dbo.f_Convert(column1,0); </code> |
注:关于SqlServer数据库全角转换成半角的内容就先介绍到这里,更多相关文章的可以留意
代码注释