ホームページ  >  記事  >  データベース  >  SqlServer数据库全角和半角互转的方法

SqlServer数据库全角和半角互转的方法

WBOY
WBOYオリジナル
2016-06-07 17:43:501154ブラウズ

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=-

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 --table1为要转换的表,美国服务器,香港虚拟主机,column1为要转换的表字段
调用:update table1
set column1=dbo.f_Convert(column1,0); ,香港虚拟主机

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。