compareStr()
vgLib.compareStr() 시스템 함수는 런타임 시 ASCII 또는 EBCDIC 순서에 따라 2개의 하위 문자열을 비교합니다.
vgLib.compareStr()은 이전 버전과의 호환성을 위해 유지보수되는 다수의 함수 중 하나입니다. 새 코드가 이러한 용도로 표준 EGL 연산자를 사용할 수 있습니다.
EGL은 값의 바이트별 비교를 수행합니다. 값의 길이가 동일하지 않으면 값이 숫자인 경우에도 EGL이 더 짧은 값을 공백으로 채웁니다.
구문
vgLib.compareStr(
var1 CharType in,
var1SubstrIndex INT in,
var1SubstrLength INT in,
var2 CharType in,
var2SubstrIndex INT in,
var2SubstrLength INT in )
returns (result INT)
- var1
- 첫 번재 비교 하위 문자열이 파생되는 값입니다. 변수 또는 리터럴일 수 있습니다.
- var1SubstrIndex
- 첫 번째 바이트의 색인 값이 1이면 var1에서 하위 문자열의 시작 바이트를 식별합니다. 이 색인은 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
- var1SubstrLength
- var1에서 파생되는 하위 문자열의 바이트 수를 식별합니다. 길이는 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
- var2
- 두 번째 비교 하위 문자열이 파생되는 값입니다. 변수 또는 리터럴일 수 있습니다.
- var2SubstrIndex
- source의 첫 번째 바이트의 색인 값이 1이면 var2에서 하위 문자열의 시작 바이트를 식별합니다. 이 색인은 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
- var2SubstrLength
- var2에서 파생되는 하위 문자열의 바이트 수를 식별합니다. 길이는 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
- result
- 함수에서 리턴되는 다음 정수 값 중
하나입니다(INT 또는 BIN(9)).
- -1
- var1에 기반한 하위 문자열이 var2에 기반한 하위 문자열 미만입니다.
- 0
- var1에 기반한 하위 문자열이 var2에 기반한 하위 문자열과 동등합니다.
- 1
- var1에 기반한 하위 문자열이 var2에 기반한 하위 문자열을 초과합니다.
오류 고려사항
V6 예외 호환성을 사용하는 경우(V6 예외 호환성 사용 참조) 다음 값이
sysVar.errorCode에 리턴됩니다.
- 8
- 1 미만 또는 문자열 길이 초과 색인입니다.
- 12
- 1 미만의 길이입니다.
- 20
- DBCHAR 또는 UNICODE 문자열의 색인이 2바이트 문자의 중간을 가리킵니다.
- 24
- DBCHAR 또는 UNICODE 문자열의 길이(바이트)가 홀수입니다(2바이트 길이는 항상 짝수여야 함).
예제
다음 예제는 vgLib.compareStr() 함수의 사용에 대해 설명합니다.
target, source CHAR (6);
result INT;
target = "123456";
source = "34";
result = vgLib.compareStr(target,3,2,source,1,2); // result = 0
호환성
| 플랫폼 | 문제 |
|---|---|
| COBOL 생성 | NUM은 소스 또는 대상 변수의 합법적 유형입니다. |