#string #oracle #plsql #split #string-length
#строка #Oracle #plsql #расколотый #длина строки #разделить
Вопрос:
Как разбить строку на столбцы по определенной длине (а не по разделителю) например, строка представляет собой запрос из 40000 символов, и мне нужно разбить ее на строки из 3000 символов, а затем запустить в ней операцию замены, потому что в строке есть «$», и мне нужно заменить их определенными заменяемыми символами
select $, $ from (select $,$ from where ...... id=$ .......
...
..
....
order by $)
Теперь мне нужно заменить $ на мои конкретные значения.. Я пробовал, но он не возвращает запрос полной длины 40000 из-за буфера.
Комментарии:
1. вы пробовали SUBSTR(string, start_position [, длина])?
2. пожалуйста, предоставьте более подробную информацию с примером.
3. Привет, спасибо, что обратились, я просто хочу разделить строку из 40000 символов на строки меньшего размера с 2000/3000 символами, все в разных динамических переменных или значениях столбцов таблицы.
Ответ №1:
Простой способ:
select regexp_substr('qwertyuioplkjhgfdsazxcvbnm', '.{1,6}',1,level) as mini_str_len_6
from dual
CONNECT by LEVEL <= regexp_count('qwertyuioplkjhgfdsazxcvbnm', '(.{1,6})');
Результат:
qwerty
uioplk
jhgfds
azxcvb
nm