Это головоломка, которую я пытался решить за последние две недели. В Oracle есть таблица с именем dba_tab_columns, которая содержит столбец CHAR_COL_DECL_LENGTH (указывает длину столбца), и наряду с COLUMN_ID (указывает порядковый номер созданного столбца) должна быть возможность получить начальную и конечную позиции символа для каждого столбца. Я попытался использовать подход с разделением, но не смог получить правильные результаты.