Допустим, моя таблица выглядит следующим образом:Разделить столбец на два или более в Oracle
-------------------------
| id | prop |
-------------------------
| 1 | Jhon_Dhoe_21 |
-------------------------
| 2 | Tom_Dohn_23_MALE |
-------------------------
| 3 | Scot |
-------------------------
свойства всегда будет разделен на «_». Таким образом, после выбора таблица должна выглядеть следующим образом:
--------------------------------------
| id | prop1 | prop2 | prop3 | prop4 |
--------------------------------------
| 1 | Jhon | Dhoe | 21 | NULL |
--------------------------------------
| 2 | Tom | Dohn | 23 | MALE |
--------------------------------------
| 3 | Scot | NULL | NULL | NULL |
--------------------------------------
Теперь, если мы знаем, что максимальное количество свойств (п), что мы могли бы я полагаю, мы можем создать п числа регулярных выражений как выражения над опоры колонка или что-то еще. Но если мы не знаем, возможно, нам нужно сначала найти строку с большинством объектов?
EDIT:
Я не могу принять несколько строк.
SQL-запрос может возвращает фиксированный набор столбцов. Если вам требуется переменное количество столбцов, вам нужно использовать динамический SQL или альтернативную структуру данных (например, вложенные таблицы или JSON). –
@GordonLinoff Я вижу .. спасибо Гордон. Я буду исследовать динамическое использование SQL, возможно, для него это окончательно. –
Если вы можете принять несколько строк для каждого 'id', то это возможное решение: http://stackoverflow.com/questions/14328621/splitting-string-into-multiple-rows-in-oracle. –