UNISTR(Transact-SQL)
적용 대상: Azure SQL Database
UNISTR
에서는 문자열에 있는 문자의 유니코드 인코딩 값을 지정하여 유니코드 문자열 리터럴을 지원합니다. UNISTR
는 유니코드 표준에 정의된 유니코드 문자를 입력 식에 대해 반환합니다.
유니코드 문자의 이스케이프 시퀀스는 유효한 UTF-16 코드포인트 값이고 xxxxxx
유효한 유니코드 코드포인트 값인 형식 \xxxx
으로 \+xxxxxx
xxxx
지정할 수 있습니다. 유니코드 코드 차트에서 유니코드 코드포인트 값을 조회할 수 있습니다.
구문
UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )
인수
'character_expression'
char, nchar, varchar 또는 nvarchar와 같은 문자 형식의 식입니다. char 및 varchar 데이터 형식의 경우 데이터 정렬은 유효한 UTF-8 데이터 정렬이어야 합니다.
은 unicode_escape_character'
사용자 정의 유니코드 이스케이프 시퀀스를 나타내는 단일 문자입니다. 제공되지 않으면 기본값은 .입니다 \
.
반환 형식
길이와 형식이 입력 형식에 따라 달라지는 문자열 값입니다.
예제
A. UNISTR 및 NCHAR 함수 사용
다음 예제에서는 모두 함수를 사용하여 UNISTR
유니코드 값을 문자열 문자 집합으로 변환하여 유니코드 문자 웃는 얼굴을 마우스로 표시합니다. 입력이 char 또는 varchar 데이터 형식인 경우 데이터베이스 데이터 정렬은 UTF-8 데이터 정렬이어야 합니다.
UNISTR
및 NCHAR
사용:
SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);
이 샘플 예제를 작성할 수도 있습니다.
SELECT UNISTR(N'Hello! \D83D\DE00');
SELECT UNISTR(N'Hello! \+01F603');
결과 집합은 다음과 같습니다.
-----------
Hello! 😃
B. 사용자 정의 이스케이프 문자와 함께 UNISTR 함수 사용
다음 예제에서는 사용자 지정 이스케이프 문자와 함께 함수를 사용하여 UNISTR
유니코드를 문자열 문자 집합으로 변환하는 데 필요합니다.
SELECT UNISTR(N'ABC#00C0#0181#0187', '#');
결과 집합은 다음과 같습니다.
-----------
ABCÀƁƇ