본문 바로가기

[오라클 레퍼런스 함수] DECOMPOSE - Unicode 분해 적용 결과 반환

by ㅇㅍㅍ 2023. 8. 4.
[오라클 레퍼런스 함수] DECOMPOSE - Unicode 분해 적용 결과 반환
728x90

DECOMPOSE

 

구문

DECOMPOSE( string [, { 'CANONICAL' | 'COMPATIBILITY' } ] )

 

목적

DECOMPOSE 함수는 첫 번째 인자로 string 값을 받고, 두 번째 선택적 인자에 의해 하나의 Unicode 분해(decomposition)를 적용한 결과를 반환합니다. 적용할 분해는 두 번째 인자에 의해 결정됩니다. 첫 번째 인자의 문자 집합이 Unicode 문자 집합 중 하나가 아닌 경우, DECOMPOSE 함수는 인자를 수정 없이 반환합니다.

DECOMPOSE 함수에 두 번째 인자로 문자열 CANONICAL(대소문자 구분 없이)을 전달하면, DECOMPOSE는 Unicode 표준 정의 D68에서 설명된 대로 정규 분해를 적용하고, NFD 정규화 형식의 문자열을 반환합니다. 두 번째 인자로 문자열 COMPATIBILITY를 전달하면, DECOMPOSE는 Unicode 표준 정의 D65에서 설명된 호환 분해를 적용하고, NFKD 정규화 형식의 문자열을 반환합니다. 기본 동작은 정규 분해를 적용하는 것입니다.

 

비관적인(pessimistic) 경우에는 DECOMPOSE 함수의 반환 값은 string 값보다 몇 배 길어질 수 있습니다. 반환될 문자열이 특정 실행 환경에서의 최대 길이인 VARCHAR2의 최대 길이보다 긴 경우, 해당 값은 무음 처리되어 최대 VARCHAR2 길이로 자동으로 잘립니다.

DECOMPOSE 함수의 두 인자는 CHAR, VARCHAR2, NCHAR, 또는 NVARCHAR2 데이터 유형이 될 수 있습니다. 다른 데이터 유형은 VARCHAR2 또는 NVARCHAR2로 암묵적으로 변환 가능한 경우 허용됩니다. DECOMPOSE 함수의 반환 값은 첫 번째 인자와 동일한 문자 집합에 있습니다.

CLOBNCLOB 값은 암묵적 변환을 통해 지원됩니다. string이 문자 LOB 값인 경우, DECOMPOSE 작업 전에 VARCHAR2 값으로 변환됩니다. LOB 값의 크기가 해당 실행 환경에서 지원하는 VARCHAR2의 최대 길이를 초과하는 경우 작업이 실패합니다.

 

참고:

 

예제

다음 예제는 문자열 "Châteaux"를 해당하는 코드 포인트로 분해하는 예제입니다:

SELECT DECOMPOSE ('Châteaux')
  FROM DUAL; 

DECOMPOSE
---------
Châteaux

 

노트: 이 예제의 결과는 운영 체제의 문자 집합에 따라 다를 수 있습니다.

 


출처: 오라클 레퍼런스

원문 링크: Oracle DECOMPOSE 함수 문서

 

반응형

댓글