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

호환성

표 1. vgLib.compareStr()의 호환성 고려사항
플랫폼 문제
COBOL 생성 NUM은 소스 또는 대상 변수의 합법적 유형입니다.