Допустим, у меня есть строка из 16 тыс. Символов, которая может содержать запятую (,) во многих позициях, но я хочу заменить запятые (,) в позиции 4001, 8001, 2001 только на нуль
* 1002. * В других позициях могут быть запятые (,), например, 4002. Не следует заменять.
Пример данных ниже
WITH data
AS (SELECT To_clob(Lpad('A', 4000, '0'))
||To_clob(Lpad('A', 4000, '0'))
||To_clob(Lpad('A', 4000, '0'))
||To_clob(Lpad('A', 4000, '0'))
||To_clob(Lpad('A', 4000, '0')) AS file_data
FROM dual),
data1
AS (SELECT LEVEL
lvl
,
Substr(file_data, Decode(LEVEL, 1, LEVEL,
( ( LEVEL - 1 ) * 4000 ) + 1),
4000)
file_data,
1
order1
FROM data
CONNECT BY ( ( LEVEL - 1 ) * 4000 ) + 4000 <= Length(file_data))
SELECT Wm_concat(To_clob(file_data)) file_data
FROM data1;