strLib.compareStr

系统函数 strLib.compareStr 在运行时根据两个子串的 ASCII 或 EBCDIC 顺序来对它们作比较。


strLib.compareStr 语法图
result
一个数字项,它接收函数返回的下列其中一个值(该值被定义为具有 INT 类型或者具有以下等效类型:BIN 类型,长度为 9 并且不带小数位):
-1
基于 target 的子串小于基于 source的子串
0
基于 target 的子串等于基于 source的子串
1
基于 target 的子串大于基于 source 的子串
target
从中派生目标子串的字符串。可以是项或文字。
targetSubStringIndex
在假定 target 中的第一个字节具有下标值 1 的情况下,标识子串在 target 中的起始字节。此下标可以是整数文字。另外,此下标可以是被定义为具有 INT 类型或者具有以下等效类型的项:BIN 类型,长度为 9 并且不带小数位。
targetSubStringLength
标识从 target 派生的子串中的字节数。长度可以是整数文字。另外,此下标可以是被定义为具有 INT 类型或者具有以下等效类型的项:BIN 类型,长度为 9 并且不带小数位。
source
从中派生源子串的字符串。可以是项或文字。
sourceSubStringIndex
在假定 source 中的第一个字节具有下标值 1 的情况下,标识子串在 source 中的起始字节。此下标可以是整数文字。另外,此下标可以是被定义为具有 INT 类型或者具有以下等效类型的项:BIN 类型,长度为 9 并且不带小数位。
sourceSubStringLength
标识从 source 派生的子串中的字节数。长度可以是整数文字。另外,此下标可以是被定义为具有 INT 类型或者具有以下等效类型的项:BIN 类型,长度为 9 并且不带小数位。

执行子串值的逐字节二进制比较。如果子串的长度不同,则在进行比较之前,用空格对较短的子串进行填充。

定义注意事项

sysVar.errorCode 中返回下列值:
8
下标小于 1 或大于字符串长度。
12
长度小于 1。
20
双字节下标无效。DBCHAR 或 UNICODE 字符串的下标指向双字节字符的中间
24
双字节长度无效。DBCHAR 或 UNICODE 字符串的以字节计的长度是奇数(双字节长度必须总是偶数)。

示例

  target = "123456";
  source = "34";
  result = 
    strLib.compareStr(target,3,2,source,1,2);
  // result = 0

相关参考
EGL 库 StrLib

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.