보충 문자
업데이트: 2006년 12월 12일
SQL Server 2005에서는 UCS-2 인코딩 체계를 사용하여 이진 형식으로 유니코드 문자를 인코딩합니다. 중국어 같은 일부 언어에서는 유니코드 표준에 포함되어 있지 않고 자주 사용하지 않는 추가 문자를 정의합니다. UCS-2에서는 쌍으로 묶을 경우 저장 영역에 보충 문자를 정의하는 두 개의 정의되지 않은 유니코드 문자로 이러한 보충 문자를 저장합니다. 따라서 손실이나 손상의 위험 없이 SQL Server에서 보충 문자를 저장할 수 있습니다. 또한 SQL Server 2005는 Business Intelligence 같은 도구 기반 응용 프로그램 등의 SQL Server 기반 응용 프로그램에서 보충 문자를 사용하고 표시할 수 있습니다.
Windows Vista용 또는 Microsoft Office 2007용 Microsoft IME(입력기)를 사용하는 경우 보충 문자는 UCS 코드 포인트 U+10000 이상에서 표시됩니다.
보충 문자를 사용할 때는 다음 제한 사항을 고려하십시오.
- 90개의 데이터 정렬 버전에 대한 정렬 및 비교 연산에만 보충 문자를 사용할 수 있습니다. 이러한 비교는 코드 포인트만 기반으로 하고 언어적으로 의미 있는 다른 방법은 기반으로 하지 않습니다. ORDER BY, GROUP BY 및 DISTINCT 같은 연산에 보충 문자를 사용할 때, 특히 같은 연산에 보충 문자와 보충 문자가 아닌 문자가 포함될 때는 주의해야 합니다. 90개의 데이터 정렬 버전은 해당 이름에 추가된 접미사 90으로 알 수 있습니다. 예를 들어 일본어 데이터 정렬 대신 Japanese_90을 사용합니다. 자세한 내용은 설치 프로그램에서 데이터 정렬 설정을 참조하십시오.
- 보충 문자는 두 개의 더블바이트 문자로 된 쌍으로 저장되므로 LEN() 함수에서 인수 문자열에 포함된 각 보충 문자에 대해 값 2를 반환합니다. 마찬가지로 CHARINDEX 및 PATINDEX 함수도 문자열 내 보충 문자의 길이를 잘못 나타내며 NCHAR 함수도 보충 문자 쌍의 절반만 나타내는 문자를 반환합니다. binary 또는 varbinary 값을 보충 문자로 변환해도 보충 문자 쌍의 절반만 생성됩니다.
- LEFT, RIGHT, SUBSTRING, STUFF 및 REVERSE 함수는 보충 문자 쌍을 분할하여 예기치 않은 결과를 초래할 수 있습니다.
- 보충 문자는 밑줄(_), 공백( ) 및 캐럿(^) 와일드카드 문자와 함께 사용할 수 없습니다.
- 보충 문자는 데이터베이스 개체 이름 같은 메타데이터에 사용할 수 없습니다.
- 고유한 저장 메커니즘 때문에 보충 문자가 있으면 서버 및 데이터베이스 업그레이드 작업 동안 리소스가 더 소모될 수 있습니다.
SQL Server 2005에서는 CLR(공용 언어 런타임) 함수 내의 보충 문자 인식 문자열 처리를 보여 주는 예제를 제공합니다. 자세한 내용은 보충 문자 인식 문자열 조작을 참조하십시오.
참고 항목
개념
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 12월 12일 |
|