BTRIM 스칼라 함수
BTRIM 함수는 소스 문자열의 처음과 끝에서 정리 문자열에 지정되는 문자를 제거합니다.
스키마는 SYSIBM입니다.
이 함수는 trim-string에 있는 각 문자의 2진 표시(하나 이상의 바이트로 구성됨)를 소스 문자열의 처음과 끝에 있는 각 문자의 2진 표시(하나 이상의 바이트로 구성됨)와 비교합니다. 데이터베이스 데이터 정렬은 검색에 적용되지 않습니다. string-expression이 FOR BIT DATA로 정의된 경우 검색에서는 trim-expression의 각 바이트를 string-expression의 처음과 끝에 있는 바이트와 비교합니다.
- 소스 문자열
- 제거될 문자가 있는 문자열을 지정하는
표현식입니다. 이 표현식은 내장 문자열, 그래픽 문자열, 숫자 값, 부울 값 또는 날짜 시간 값을 리턴해야 합니다. 소스 문자열이
다음과 같습니다.
- 숫자, 부울 또는 날짜 시간 값이며, 함수가 평가되기 전에 내재적으로 VARCHAR로 캐스트됩니다.
- CLOB 값인 경우 값의 길이는 VARCHAR의 최대 크기로 제한됩니다(SQLSTATE 22001)
- DBCLOB 값인 경우 값의 실제 길이는 VARGRAPHIC의 최대 크기로 제한됩니다(SQLSTATE 22001).
- trim-string
- 소스 문자열의 처음과 끝에서 제거되는 문자를
지정하는 표현식입니다. 표현식은 내장 문자열,
그래픽 문자열, 숫자 값 또는 날짜 시간 값을 리턴해야
합니다. 정리 문자열이 다음과 같습니다.
- 문자열 또는 그래픽 문자열이 아닌 경우 함수가 평가되기 전에 내재적으로 VARCHAR로 캐스트됩니다.
- CLOB인 경우 값의 실제 길이는 VARCHAR의 최대 크기로 제한됩니다(SQLSTATE 22001).
- DBCLOB인 경우 값의 실제 길이는 VARGRAPHIC의 최대 크기로 제한됩니다(SQLSTATE 22001).
소스 문자열의 유형에 따라 기본 정리 문자열이 판별됩니다.소스 문자열의 유형 기본 정리 문자열 DBCS 또는 EUC 데이터베이스의 그래픽 문자열 2바이트 공백 유니코드 데이터베이스의 그래픽 문자열 UCS-2 공백 FOR BIT DATA 문자열 X'20' 기타 모든 경우 1바이트 공백
제한사항:
- 소스 문자열이 FOR BIT DATA로 정의되지 않은 경우 정리 문자열을 FOR BIT DATA로 정의할 수 없습니다(SQLSTATE 42815).
- 하나의 매개변수(소스 문자열 또는 정리 문자열)가 문자 FOR BIT DATA인 경우 다른 매개변수는 그래픽이 될 수 없습니다(SQLSTATE 42846).
- 문자열과 그래픽 문자열 인수의 조합은 유니코드 데이터베이스에서만 사용될 수 있습니다(SQLSTATE 42815).
결과
소스 문자열의 데이터 유형에 따라 결과의
데이터 유형이 판별됩니다.
| 소스 문자열의 데이터 유형 | 결과의 데이터 유형 |
|---|---|
| VARCHAR 또는 CHAR | VARCHAR |
| CLOB | CLOB |
| VARGRAPHIC 또는 GRAPHIC | VARGRAPHIC |
| DBCLOB | DBCLOB |
결과의 데이터 유형에 대한 길이 속성은 소스 문자열의 데이터 유형에 대한 길이 속성과 동일합니다. 결과의 길이는 소스 문자열의 길이에서 제거된 문자열 단위 수를 뺀 값입니다. 모든 문자를 제거하면, 결과는 영(0)의 길이로 비어 있는 문자열이 됩니다.
임의의 인수가 널(NULL)일 수 있는 경우 결과는 널(NULL)일 수 있습니다. 인수가 널(NULL)이면 결과는 널(NULL) 값이 됩니다.
예
호스트 변수 BALANCE1의 유형은 CHAR(9) 유형이며 값은
'000345.50'입니다. 다음 명령문은 '345.5' 값을 리턴합니다. SELECT BTRIM(:BALANCE1, '0')
FROM SYSIBM.SYSDUMMY1호스트 변수 BALANCE2의 유형은 CHAR(9)유형이며 값은
' 345.50'입니다. 다음 명령문은 '345.50' 값을 리턴합니다. SELECT BTRIM(:BALANCE2)
FROM SYSIBM.SYSDUMMY1