如何获取字符串的当前剩余长度?

时间:2020-08-01 13:40:57

标签: pl-i

我有一个数组

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数组本身)?

1 个答案:

答案 0 :(得分:0)

Lasse V. Karlsen提供的解决方案是一种方法。另一种可能更直接的解决方案是使用CHAR VARYING(又称VARCHAR),它可以保持字符串的长度。分配后,LENGTH(VALUELIST)是正确的(比以前的长度小8)。