안녕하십니까?
가입하자마자 질문 들어가네여 ㅎㅎ
문자열 "ABC|EF||G|||F" 값이 있고 "|" <- 입력값(변경될수 있음) 로 구분자로..
문자열을 | 를 구분자로 쪼개서 아래와 같이 Arry호스트변수에 담을 수가 있나여 ?
Arry[0] = ABC
Arry[1] = EF
Arry[2] =
Arry[3] = G
Arry[4] =
Arry[5] =
Arry[6] = F
연속 파이프가 있으면 그 갯수만큼 공란필요 합니다.
by 아발란체
[2014.09.30 09:29:35]
정규식이 된다면
WITH T AS (
SELECT 'ABC|EF||G|||F' AS VAL FROM DUAL
)
SELECT
REGEXP_SUBSTR(VAL, '[^|]*', 1, LEVEL) INTO 배열변수(LEVEL)
FROM
T
CONNECT BY
LEVEL < REGEXP_COUNT(VAL, '[^|]*')
by 돌배뚝
[2014.09.30 10:52:43]
답글 감사드립니다.
그런데 님 말씀처럼 ORA-00904 : "REGEXP_COUNT": invalid identifier
오류가 납니다. - 정규식 지원을 안한다는건가여 ?
by 아발란체
[2014.09.30 11:04:58]
네 REGEXP_COUNT가 지원되지 않는 것 같네요.
위에 정규식도 문제가 좀 있네요. ^^;
WITH T AS (
SELECT 'ABC|EF||G|||F' AS VAL FROM DUAL
)
SELECT
REPLACE(REGEXP_SUBSTR(VAL, '[^|]*(\||)', 1, LEVEL), '|', '') INTO 배열변수(LEVEL)
FROM
T
CONNECT BY
LEVEL <= LENGTH(REGEXP_REPLACE('ABC|EF||G|||F', '[^|]', '')) + 1;
by 돌배뚝
[2014.09.30 11:11:18]
존경합니다.
정말 감사드립니다. 꾸~뻑
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.