ASCII_STR 스칼라 함수

ASCII_STR 함수는 문자열의 ASCII 버전을 리턴합니다.

Read syntax diagramSkip visual syntax diagram ASCII_STR ( string-expression )

스키마는 SYSIBM입니다.

문자열 표현식
내장 문자 또는 그래픽 문자열의 값을 리턴하는 표현식입니다.
문자열은 비트 데이터가 될 수 없습니다(SQLSTATE 42815).
인수는 숫자 데이터 유형일 수도 있습니다. 숫자 인수는 내재적으로 VARCHAR 데이터 유형으로 캐스트됩니다.

ASCII_STR은 문자열의 ASCII 버전을 리턴합니다. 비ASCII 문자는 UTF-16 문자로 변환되고 결과에 \xxxx(또는 대리 문자의 경우 \xxxx\yyyy) 형식으로 표시됩니다. 여기서 xxxxyyyy는 UTF-16 코드 단위를 나타냅니다. 문자열 표현식에서 백슬래시는 이중 백슬래시로 변환됩니다.

결과의 문자열 단위는 OCTETS입니다.

결과의 길이 속성은 MIN(5*n), 32672)입니다. 여기서 n은 다음과 같이 판별됩니다.
  • 문자열 표현식에 OCTETS 또는 CODEUNITS16 문자열 단위가 있는 경우, n은 입력 문자열의 길이 속성입니다.
  • 문자열 표현식에 문자열 단위 CODEUNITS32가 있는 경우, n은 입력 문자열의 길이 속성의 두 배입니다.

결과

함수의 결과는 가변 길이 문자열입니다.

결과 문자열의 실제 길이가 리턴 유형의 최대값을 초과하면 오류가 발생합니다(SQLSTATE 54006).

인수가 널(NULL)일 수 있으면 결과가 널(NULL)일 수 있습니다. 인수가 널(NULL)인 경우 결과는 널(NULL) 값입니다.

참고

구문 대안으로서 ASCIISTR을 ASCII_STR에 대한 동의어로 지정할 수 있습니다.

다음 예제는 유니코드(UTF-8) 문자열 '4869206D616D6520697320D090D0BDD0B4D180D0B5D0B9202020F0908080'과 동일한 ASCII 문자열을 리턴합니다.

SET :HV1 = ASCII_STR(X'4869206D616D6520697320D090D0BDD0B4D180D0B5D0B9202020F0908080');

:HV1에는 'Hi, my name is \0410\043D\0434\0440\0435\0439 \D800\DC00' 값이 지정됩니다.

이 예제에서 UTF-8 문자 D090, D0BD, D0B4, D180, D0B5 및 D0B9는 \0410\043D\0434\0440\0435\0439으로 변환되고, 비ASCII 문자 F0908080은 \D800\DC00으로 변환됩니다.

SET :HV1 = ASCII_STR('Hi, my name is Андрей(Andrei)');

:HV1에는 "Hi, my name is \0410\043D\0434\0440\0435\0439 (Andrei)" 값이 지정됩니다.