Сначала я пытаюсь объединить строки в строку, разделенную запятой.Во-вторых, я не хочу, чтобы длина строки превышала X символов.Если будет превышать, то создайте еще одну строку из следующей строки, не разрезая символ из каждой строки.Я пытаюсь добиться этого с помощью оракула SQL.
Я смотрю на LISTAGG, который дает мне объединенную строку, но я не представляю, как можно разделить на X количество символов без разделения значений из каждой строки, давайтескажи мой Х = 15 символов.То, что я получаю, используя приведенный ниже код:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
select listagg(x, ',') within group(order by x)
from (select level x from dual
connect by level <= 20
)
;
Мой ожидаемый результат будет,
строка 1: 1,2,3,4,5,6,7,8 (15 символов)
строка 2: 9,10,11,12,13 (13 символов, поскольку это значение превысит 15, если я добавлю значение из следующей строки)
строка 3: 14,15,16,17,18 (14 символов)
строка 4: 19,20 (5 символов)
Я все еще не уверен, что это может быть достигнуто, любые предложения или подсказки будут наиболее оценены.