집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server 문자열 한자 가로채기
최근에는 SQL 문자열에서 한자를 가로채고, 유니코드 함수를 사용하여 문자의 유니코드 인코딩을 결정하고, 인코딩 범위에 따라 중국어가 아닌 문자를 필터링해야 합니다.
은 함수로 작성됩니다
/*@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
첨부:
유니코드 인코딩 범위:
한자: [0x4e00, 0x9fa5] (또는 십진수 [19968, 40869])
숫자: [0x30, 0x39] (또는 십진수 [48, 57]) 검색
소문자: [0x61, 0x7a] (또는 십진수 [97, 122] )
대문자: [0x41,0x5a] (또는 십진수 [65, 90])