Как разделить выражение или строку через запятую на имена столбцов в Oracle? - PullRequest
0 голосов
/ 25 августа 2018

Может кто-нибудь помочь мне разбить следующую строку

'Column1, To_date(Column2, 'DD/MM/YYYY'), Column3' 

на

COLUMN_LIST

Column1     
To_date(Column2, 'DD/MM/YYYY')  
Column3

в oracle

1 Ответ

0 голосов
/ 25 августа 2018
SELECT TRIM(regexp_substr(a.text, a.regExp, 1, level, null, 2)) names
FROM (SELECT 'Column1, to_date(Column2, ''DD/MM/YYYY''), Column3, TO_NUMBER(''123'', ''999''), Column4,Column5' text
           , '(^|,)(([^,]*\([^\(\)]*\))|[^\(\),]*)' regExp
        FROM dual) a
CONNECT BY regexp_substr(a.text, regExp, 1, level, null, 2) is not null

результат:
Столбец1
to_date (Столбец2, «ДД / ММ / ГГГГ»)
Столбец3
TO_NUMBER ('123', '999')
Столбец4
Колонка 5

Надеюсь, это то, что вам нужно:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...