CHARACTER_LENGTH 스칼라 함수
CHARACTER_LENGTH 함수는 지정된 문자열 단위로 표시되는 표현식의 길이를 리턴합니다.
스키마는 SYSIBM입니다.
- 표현식
- 내장 문자, 2진 또는 그래픽 문자열또는 부울 값을 리턴하는 표현식입니다.
- CODEUNITS16, CODEUNITS32 또는 OCTETS
- 다음과 같이 결과의 문자열 단위를 지정합니다.
- CODEUNITS16은 결과가 16비트 UTF-16 코드 단위로 표현됨을 지정합니다.
- CODEUNITS32는 결과가 32비트 UTF-32 코드 단위로 표시됨을 지정합니다.
- OCTETS는 결과가 바이트 단위로 표시됨을 지정합니다.
결과
함수의 결과는 대형 정수입니다. 인수가 널(NULL)일 수 있는 경우, 결과는 널(NULL)일 수 있습니다. 인수가 널(NULL)인 경우, 결과는 널(NULL) 값입니다.
문자와 그래픽 문자열의 길이에는 뒤 공백이 포함됩니다. 가변 길이 문자열의 길이는 실제 길이이고 최대 길이가 아닙니다.
예:
- NAME이 'Jürgen' 값을 포함하는 Unicode
UTF-8로 인코딩된 VARCHAR(128) 컬럼이라고 가정해 보십시오. 다음 두 쿼리는 6 값을 리턴합니다.
다음 2개의 쿼리는 7 값을 리턴합니다.SELECT CHARACTER_LENGTH(NAME, CODEUNITS32) FROM T1 WHERE NAME = 'Jürgen' SELECT CHARACTER_LENGTH(NAME, CODEUNITS16) FROM T1 WHERE NAME = 'Jürgen'SELECT CHARACTER_LENGTH(NAME, OCTETS) FROM T1 WHERE NAME = 'Jürgen' SELECT LENGTH(NAME) FROM T1 WHERE NAME = 'Jürgen' - 다음 예는 유니코드 문자열 &N~AB'에 대해 작업합니다. 여기서
'&'는 음악 기호 높은음자리표 문자이고 '~'는 결합된 틸드 문자입니다. 이 문자열은 다음 예에서
여러 가지 유니코드 인코딩 양식으로 표시됩니다.
'&' 'N' '~' 'A' 'B' UTF-8 X'F09D849E' X'4E' X'CC83' X'41' X'42' UTF-16BE X'D834DD1E' X'004E' X'0303' X'0041' X'0042' UTF-32BE X'0001D11E' X'0000004E' X'00000303 ' X'00000041 ' X'00000042 ' UTF8_VAR 변수에 문자열의 UTF-8 표현이 포함된다고 가정해 봅시다.
각각 값 6, 5 및 9를 리턴합니다.SELECT CHARACTER_LENGTH(UTF8_VAR, CODEUNITS16), CHARACTER_LENGTH(UTF8_VAR, CODEUNITS32), CHARACTER_LENGTH(UTF8_VAR, OCTETS) FROM SYSIBM.SYSDUMMY1UTF16_VAR에 문자열의 UTF-16BE 표현이 포함된다고 가정해 봅시다.
각각 값 6, 5 및 12를 리턴합니다.SELECT CHARACTER_LENGTH(UTF16_VAR, CODEUNITS16), CHARACTER_LENGTH(UTF16_VAR, CODEUNITS32), CHARACTER_LENGTH(UTF16_VAR, OCTETS) FROM SYSIBM.SYSDUMMY1
