오라클 분해

Olakeul Bunhae



유니코드는 개발 세계에서 가장 영향력 있고 강력한 인코딩 표준 중 하나입니다. 유니코드는 0에서 0x10ffff 사이의 정수 코드로 문자를 인코딩하여 거의 모든 언어의 문자를 나타냅니다.

데이터베이스의 다양성으로 인해 때때로 문자열을 유니코드 표현으로 변환하는 자신을 발견하게 될 것입니다.







이 자습서에서는 Oracle 데이터베이스의 decompose() 함수를 사용하여 주어진 를 유니코드 표현으로 변환하는 방법을 배웁니다.



Oracle 분해 함수 구문

함수 구문은 아래와 같습니다.



분해( string [, { '표준' | '호환성' } ] )

이 함수는 두 가지 인수를 허용합니다.





  1. – 유니코드 구성으로 변환할 문자열을 나타냅니다. 이 매개변수의 값은 CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB 및 NCLOB일 수 있습니다.
  2. 정식 – 값을 정식으로 설정하면 함수가 원래 문자열로 재구성할 수 있는 정식 분해를 수행할 수 있습니다. 지정하지 않으면 함수는 기본적으로 이 매개변수를 사용합니다.
  3. 호환성 – 값이 호환성으로 설정된 경우 함수는 호환성 모드에서 분해를 수행합니다. 이 모드는 원래 문자열로의 재구성을 허용하지 않습니다. 반각 및 전각 가타카나 문자를 분해할 때 이 옵션을 사용합니다.

CLOB 및 NCLOB 유형은 명시적 변환을 통해 지원된다는 점을 기억하는 것이 좋습니다.

함수 사용 예

다음 예제는 Oracle 데이터베이스의 decompose() 함수를 사용하는 방법을 보여줍니다.



예제 1 – 기본 기능 사용

다음 간단한 코드는 분해 함수를 사용하여 문자열을 유니코드 표현으로 분해하는 방법을 보여줍니다.

dual의 출력으로 decompose('Hello')를 선택합니다.

위의 코드를 실행하면 출력 문자열이 다음과 같이 반환됩니다.

예제 2 – ASCII 코드 얻기

유니코드 정수 값을 가져오려면 결과 문자열을 아래 예와 같이 asciistr 함수에 전달할 수 있습니다.

dual의 출력으로 asciistr(decompose('你好'))를 선택합니다.

산출:

예제 3 – 유니코드가 아닌 문자로 함수 사용

유니코드가 아닌 문자를 함수에 제공하면 함수는 수정 없이 입력 문자열을 반환합니다.

예제 데모는 다음과 같습니다.

dual의 출력으로 decompose('l')를 선택합니다.

결과:

asciistr 함수를 사용하는 경우에도 마찬가지입니다.

dual의 출력으로 asciistr(('l'))을 선택합니다.

산출:

예 4 – NULL 인수와 함께 함수 사용

입력 값이 NULL이면 함수는 NULL 값을 반환합니다.

예:

듀얼의 출력으로 (NULL)을 선택하십시오.

산출:

예제 5 – 매개변수가 누락된 함수 호출

함수의 문자열 매개변수가 필요합니다. 따라서 문자열 값을 전달하지 못하면 함수는 다음과 같이 오류를 반환합니다.

듀얼의 출력으로 ()를 선택하십시오.

결과:

SQL 오류: ORA-00938: 함수에 대한 인수가 충분하지 않습니다.
00938. 00000 - '함수에 대한 인수가 충분하지 않음'

결론

이 자습서에서는 Oracle의 decompose() 함수를 사용하여 문자열을 유니코드 표현으로 변환하는 방법을 배웠습니다.