我有一个数组
DO WHILE (NOTEND = '1'B);
IF (LENGTH(VALUELIST) > 8) THEN DO;
VALUELIST = SUBSTR(VALUELIST,8);
END;
ELSE DO;
NOTEND='0'B;
END;
END;
现在我的问题是:Length(valuelist(总是返回字符字段的原始定义:CHAR(500(,因此是500。不过,我在那里没有找到任何其他命令。
因此,我的问题是:如何获得该字符串的剩余长度(即其内容的长度,而不是char数组本身(?
Lasse V.Karlsen提供的解决方案是一种方法。另一种可能更直接的解决方案是使用CHAR VARYING
(也称为VARCHAR
(,它保持字符串的长度。分配后,LENGTH(VALUELIST)
将是正确的(比以前的长度少8(。