package body ted_p1127 is
​
k_spacer constant varchar2(10) := '#!SPACE!#';
​
function fn_apex_json_write_cursor return varchar2 is
​
l_result varchar2(32767);
​
l_cursor sys_refcursor;
begin
​
open l_cursor for
select cursor
(
with iv_d as
(
select 1 as sort_order, to_char(234 ,'fm999G999D90') as d from dual union all
select 2 as sort_order, to_char(234.5 ,'fm999G999D90') as d from dual union all
select 3 as sort_order, to_char(234.56 ,'fm999G999D90') as d from dual union all
select 4 as sort_order, to_char(1234 ,'fm999G999D90') as d from dual union all
select 5 as sort_order, to_char(1234.5 ,'fm999G999D90') as d from dual union all
select 6 as sort_order, to_char(1234.56,'fm999G999D90') as d from dual union all
select 7 as sort_order, to_char(234 ,'fm999G999D90') || k_spacer as d from dual
)
select 'Input: ' || d as d_input
, d as d_output
from iv_d
order by iv_d.sort_order
) as d_test
from dual
;
apex_json.initialize_clob_output;
apex_json.write(p_cursor => l_cursor);
apex_json.close_all;
l_result := json_query(apex_json.get_clob_output, '$' returning varchar2 pretty);
l_result := replace(l_result, k_spacer, null);
return l_result;
end fn_apex_json_write_cursor;
​
end ted_p1127;
​