적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
Microsoft Fabric의 SQL 데이터베이스
유니코드 표준에서 정의한 대로 입력 식에 있는 첫 글자의 정수 값을 반환합니다.
구문
UNICODE ( 'ncharacter_expression' )
인수
'ncharacter_expression'
nchar 또는 nvarchar 식입니다.
반환 형식
int
설명
SQL Server 2012(11.x) 이전의 SQL Server 버전 및 Azure SQL Database에서 UNICODE 함수는 유니코드 BMP(Basic Multilingual Plane)로 65,535개 문자를 나타낼 수 있는 000000~00FFFF 범위의 UCS-2 코드 포인트를 반환합니다. SQL Server 2012(11.x)부터 SC(보조 문자) 사용 데이터 정렬을 사용할 때 UNICODE가 000000에서 10FFFF까지 범위의 UTF-16 코드 포인트를 반환합니다. 데이터베이스 엔진의 유니코드 지원에 대한 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하세요.
예
A. UNICODE 및 NCHAR 함수 사용
다음 예에서는 UNICODE 및 NCHAR 함수를 사용하여 Åkergatan 24 문자열에 있는 첫 글자의 UNICODE 값을 인쇄하고 실제 첫 글자 Å를 인쇄합니다.
DECLARE @nstring NCHAR(12);
SET @nstring = N'Åkergatan 24';
SELECT UNICODE(@nstring), NCHAR(UNICODE(@nstring));
결과 집합은 다음과 같습니다.
----------- -
197 Å
B. SUBSTRING, UNICODE, CONVERT 사용
다음 예에서는 SUBSTRING, UNICODE 및 CONVERT 함수를 사용하여 Åkergatan 24 문자열에 있는 각 문자의 문자 번호, 유니코드 문자, UNICODE 값 등을 인쇄하는 방법을 보여 줍니다.
-- The @position variable holds the position of the character currently
-- being processed. The @nstring variable is the Unicode character
-- string to process.
DECLARE @position INT, @nstring NCHAR(12);
-- Initialize the current position variable to the first character in
-- the string.
SET @position = 1;
-- Initialize the character string variable to the string to process.
-- Notice that there is an N before the start of the string, which
-- indicates that the data following the N is Unicode data.
SET @nstring = N'Åkergatan 24';
-- Print the character number of the position of the string you are at,
-- the actual Unicode character you are processing, and the UNICODE
-- value for this particular character.
PRINT 'Character #' + ' ' + 'Unicode Character' + ' ' + 'UNICODE Value';
WHILE @position <= LEN(@nstring)
-- While these are still characters in the character string,
BEGIN;
SELECT @position AS [position],
SUBSTRING(@nstring, @position, 1) AS [character],
UNICODE(SUBSTRING(@nstring, @position, 1)) AS [code_point];
SET @position = @position + 1;
END;
결과 집합은 다음과 같습니다.
Character # Unicode Character UNICODE Value
----------- ----------------- -----------
1 Å 197
----------- ----------------- -----------
2 k 107
----------- ----------------- -----------
3 e 101
----------- ----------------- -----------
4 r 114
----------- ----------------- -----------
5 g 103
----------- ----------------- -----------
6 a 97
----------- ----------------- -----------
7 t 116
----------- ----------------- -----------
8 a 97
----------- ----------------- -----------
9 n 110
----------- ----------------- -----------
10 32
----------- ----------------- -----------
11 2 50
----------- ----------------- -----------
12 4 52
참고 항목
ASCII(Transact-SQL)
CHAR(Transact-SQL)
NCHAR(Transact-SQL)
문자열 함수(Transact-SQL)
데이터 정렬 및 유니코드 지원