PLSQL - 将字符数组转换为Varchar2

时间:2017-09-01 16:07:09

标签: arrays oracle plsql char varchar2

我有一个从varchar2中删除最后一个字符的函数,但我需要先将它转换为char数组。现在我无法找到任何东西将其转换回varchar2。

我的功能:

DECLARE
    TYPE CHAR_ARRAY IS TABLE OF CHAR(1) INDEX BY PLS_INTEGER;
    NAME VARCHAR2(100) := '&vname';
    NAME_CHAR CHAR_ARRAY;
BEGIN
    FOR X IN 1..LENGTH(NAME) LOOP
        IF((X = LENGTH(NAME))) THEN
            NAME_CHAR(X) := '';
        ELSE
            NAME_CHAR(X) := SUBSTR(NAME, X , 1);
        END IF;
    END LOOP;
    -- Now I need to convert it back to varchar2
END;

1 个答案:

答案 0 :(得分:1)

怎么样:

name := '';
for x in 1..name_char.count loop
  name := name || name_char(x);
end loop;

虽然为什么你会做任何这件事让我失望!如果我想从字符串中删除最后一个字符,我会这样做:

name := substr (name, 1, length(name)-1);