pl/sql that exclusively uses 1-based indexingWell you can do something like this, so I wouldn't say PL/SQL
exclusively uses 1-based indexing:
declare
type arr is table of number
index by pls_integer;
a arr := arr (0 => 1, 1 => 2);
begin
for inx in 0 .. a.count - 1 loop
dbms_output.put_line ( inx || ' = ' || a ( inx ) );
end loop;
end;
/
0 = 1
1 = 2
Though this is only for associative arrays, not nested tables or varrays.
JSON_ARRAY_T isn't an array type - it's a subtype of the JSON_ELEMENT_T object. All other implementations of JSON use zero-based indexing, so ultimately it was decided that JSON_ARRAY_T would use 0-based indexing.