--单层数组
SELECT ARRAY_UPPER(STRING_TO_ARRAY('a,b,c,d,e', ','), 1) LIMIT FROM DUAL;
LIMIT
------------
2147483647
SELECT ARRAY_UPPER(STRING_TO_ARRAY('a,b,c,d,e', ','), NULL) LIMIT FROM DUAL;
LIMIT
------------
SELECT ARRAY_UPPER(STRING_TO_ARRAY('a,b,c,d,e', ','), -1) LIMIT FROM DUAL;
LIMIT
------------
--多层数组
SET serveroutput ON
DECLARE
TYPE arr_type_2 IS VARRAY(10) OF CHAR(5);
TYPE arr_type_1 IS VARRAY(10) OF arr_type_2;
b arr_type_1;
BEGIN
b := arr_type_1(STRING_TO_ARRAY('a1,b1,c1', ',')
,STRING_TO_ARRAY('a2,b2', ',')
,STRING_TO_ARRAY('a3,b3,c3,d3', ','));
DBMS_OUTPUT.PUT_LINE('Dimension 1 has:'||ARRAY_UPPER(b,1));
DBMS_OUTPUT.PUT_LINE('Dimension 2 has:'||ARRAY_UPPER(b,2));
END;
/
Dimension 1 has:10
Dimension 2 has:10
评论