보충 문자

nchar 및 nvarchar 데이터 형식은 UCS-2 인코딩을 사용하여 각 문자를 16비트 값으로 저장합니다. 1996 이전의 유니코드 버전에 정의된 대로 이 인코딩은 U+0000에서 U+FFFF 범위의 문자를 지원합니다. 새로운 유니코드 버전은 U+10000에서 U+10FFFF 범위의 추가 문자를 정의하며 이를 보충 문자 라고 합니다. 이들 문자는 UTF-16 인코딩을 사용하여 16비트 값 쌍으로 저장되는데 이를 서로게이트 쌍이라고 합니다. 새로운 _100 수준 데이터 정렬은 모두 보충 문자를 사용한 언어적 정렬을 지원합니다. 

보충 문자를 사용할 경우 다음 제한 사항을 고려하십시오.

  • 90개 이상의 데이터 정렬 버전에서 정렬 및 비교 연산에만 보충 문자를 사용할 수 있습니다.

  • 보충 문자는 두 개의 16비트 값으로 저장되므로 LEN() 함수에서 인수 문자열에 포함된 각 보충 문자에 대해 값 2를 반환합니다. 마찬가지로 CHARINDEX 및 PATINDEX 함수도 문자열 내 보충 문자의 길이를 잘못 나타냅니다.

  • LEFT, RIGHT, SUBSTRING, STUFF 및 REVERSE 함수는 서로게이트 쌍을 분할하여 예기치 않은 결과를 초래할 수 있습니다.

  • 보충 문자는 밑줄(_), 백분율(%) 및 캐럿(^) 와일드카드 문자와 함께 사용할 수 없습니다.

  • 보충 문자는 데이터베이스 개체 이름 같은 메타데이터에 사용할 수 없습니다.

이 시나리오와 관련된 Transact-SQL 스크립트에 대한 자세한 내용은 보조 문자 인식 문자열 조작 예제를 참조하십시오. 예제에 대한 자세한 내용은 SQL Server 예제 및 예제 데이터베이스 설치 시 고려 사항을 참조하십시오.

참고 항목

개념