最近、SQL 文字列から中国語の文字をインターセプトし、unicode 関数を使用して文字の Unicode エンコードを決定し、エンコード範囲に従って中国語以外の文字を除外する必要があります。
関数として書く
/*@str 漢字の文字列を取得する必要がある*/
create function CharRep(@str nvarchar(200)) returns nvarchar(200) as begin declare @i int, @char nvarchar(1), @zh nvarchar(200) set @i = 1 set @zh = '' while @i <= len(@str) begin set @char = substring(@str, @i, 1) if unicode(@char) between 19968 And 40869 set @zh = @zh + @char set @i = @i + 1 end return @zh end
select dbo.CharRep('Nonghao a/bc Nonghao')を実行
結果a/bc
添付:
Unicodeエンコード範囲:
漢字: [0x4e00,0x9fa5] (または10進数[19968, 40869])
数値: [0x30, 0x39] (または10進数[48, 57]) 検索
小文字: [ 0x61, 0x7a] (または 10 進数 [97, 122])
大文字: [0x41,0x5a] (または 10 進数 [65, 90])