SQL全形半形互換

2021-04-15 15:44:35 字數 680 閱讀 6216

create function f_convert(

@str nvarchar(4000), --

@flag bit            --0轉化成半形;1轉化成全角

)returns nvarchar(4000)

asbegin

declare @pat nvarchar(8),@step int,@i int,@spc int

if @flag=0

select @pat=n'%[!-~ ]%',@step=-65248

else

select @pat=n'%[!-~ ]%',@step=65248

set @i=patindex(@pat collate latin1_general_bin,@str)

while @i>0

select @str=stuff(@str,@i,1,nchar(case unicode(substring(@str,@i,1))

when 32 then 12288

when 12288 then 32

else unicode(substring(@str,@i,1))+@step end))

,@i=patindex(@pat collate latin1_general_bin,@str)

return(@str)

end 

SQL 全形轉半形

if exists select from dbo.sysobjects where id object id n dbo f convert and xtype in n fn n if n tf drop function dbo f convert go 全形 半形轉換 轉換說明 全形字符從的...

SQL 全形和半形轉換

首先我們來看乙個測試 select cast 111 asint as num1 code ifobject id n u convert n fn isnot null drop function u convert go 轉換原理 全形字符unicode編碼從65281 65374 半形字元un...

全形轉半形 半形轉全形(Python)

coding utf 8 def str q2b u string 全形轉半形 全形字符unicode編碼從65281 65374 十六進製制 0xff01 0xff5e 半形字元unicode編碼從33 126 十六進製制 0x21 0x7e 空格比較特殊,全形為 12288 0x3000 半形為...