UNICODE_STR 스칼라 함수

UNICODE_STR 함수는 지정된 옵션에 따라 유니코드 UTF-8 또는 UTF-16으로 문자열을 리턴합니다. 문자열은 입력 문자열의 유니코드 인코딩을 나타냅니다.

Read syntax diagramSkip visual syntax diagram UNICODE_STR ( string-expression UTF8UTF16 )

스키마는 SYSIBM입니다.

문자열 표현식
내장 문자 또는 그래픽 문자열의 값을 리턴하는 표현식입니다.
문자열은 비트 데이터가 아니어야 합니다.
백슬래시('\')가 앞에 오는 값은 유니코드 UTF-16 문자로 처리됩니다. 예를 들어, '\0041'은 'A' 에 대한 유니코드 UTF-16 표현입니다.
이중 백슬래시 '\\'는 문자열에 있는 백슬래시를 나타냅니다.
이중 백슬래시의 일부가 아닌 백슬래시는 4자리 16진수 뒤에 와야 합니다(SQLSTATE 42815).
표현식의 부분 대리 문자는 공백으로 대체됩니다.
인수는 숫자 데이터 유형일 수도 있습니다.
숫자 인수는 내재적으로 VARCHAR 데이터 유형으로 캐스트됩니다.
UTF8 또는 UTF16
결과의 유니코드 인코딩을 지정합니다.
  • UTF8이 지정되면 결과는 유니코드 UTF-8 문자열로 리턴됩니다.
  • UTF16이 지정되면 결과는 유니코드 UTF-16 그래픽 문자열로 리턴됩니다.
UTF8이 기본값입니다.

결과

함수의 결과는 두 번째 인수에 따라 다릅니다.
  • UTF8이 지정된 경우 결과는 VARCHAR입니다.
  • UTF16이 지정된 경우 결과는 VARGRAPHIC입니다.
결과의 길이 속성은 두 번째 인수(UTF8 또는 UTF16)에 따라 다릅니다.
  • 두 번째 인수가 UTF8인 경우 결과의 길이 속성은 MIN(n, 32672) OCTETS입니다(여기서 n은 다음과 같이 string-expression의 길이 속성 및 문자열 단위에 따라 다름).
    • 문자열 표현식에 문자열 단위 OCTETS이 포함된 경우, n은 입력 문자열의 길이 속성입니다.
    • 문자열 표현식에 문자열 단위 CODEUNITS16이 포함된 경우, n은 입력 문자열 길이 속성의 두 배입니다.
    • 문자열 표현식에 문자열 단위 CODEUNITS32가 포함된 경우, n은 입력 문자열 길이 속성의 네 배입니다.
  • 두 번째 인수가 UTF16이면 결과의 길이 속성은 MIN(n, 16336) CODEUNITS16입니다. 여기서 n은 다음과 같이 string-expression의 문자열 단위 및 길이 속성에 따라 다릅니다.
    • 문자열 표현식에 OCTETS 또는 CODEUNITS16 문자열 단위가 포함된 경우, n은 입력 문자열의 길이 속성입니다.
    • 문자열 표현식에 문자열 단위 CODEUNITS32가 포함된 경우, n은 입력 문자열 길이 속성의 두 배입니다.

참고

구문 대체로 UNISTR을 UNICODE_STR의 동의어로 지정할 수 있습니다.

다음 예에서는 호스트 변수 HV1을 인수에 해당하는 유니코드 UTF-8 문자열을 표시하는 VARCHAR 값으로 설정합니다.

SET :HV1 = UNICODE_STR('Hi, my name is \5CF0');

HV1에는 'Hi, my name is 峰' 값이 포함된 유니코드 UTF-8 문자열이 지정됩니다.