아래 각 나온 결과값을 합쳐서 다시 결과값을 가져오고 싶습니다.
예제의 TEST1,TEST2,TEST3,TEST4, 1^2^3^4 는 임의의 값이며 구분자(, ^) 가 여러개 들어가 있는 상태입니다.
'[^^]+', 1, 1) 이 될수도 있고 '[^^]+', 1, 10 이 될수 도 있고...
저장되는 값은 랜덤입니다.
위의 예제는 각 결과 문자를 합친 값, 아래 예제는 각 결과 숫자 합친 값과 각 결과 숫자의 계산값을 구하고자 합니다.
부탁드립니다.
select
REGEXP_SUBSTR('TEST1,TEST2,TEST3,TEST4', '[^,]+'),
REGEXP_SUBSTR('TEST1,TEST2,TEST3,TEST4', '[^,]+', 1, 1),
REGEXP_SUBSTR('TEST1,TEST2,TEST3,TEST4', '[^,]+', 1, 2),
REGEXP_SUBSTR('TEST1,TEST2,TEST3,TEST4', '[^,]+', 1, 3),
REGEXP_SUBSTR('TEST1,TEST2,TEST3,TEST4', '[^,]+', 1, 4)
from dual
결과입니다 : TEST1, TEST1, TEST2, TEST3, TEST4
제가 원하는 결과 형식 : TEST1TEST2TEST3TEST4
select
REGEXP_SUBSTR('1^2^3^4', '[^^]++') v_00,
REGEXP_SUBSTR('1^2^3^4', '[^^]+', 1, 1) v_1,
REGEXP_SUBSTR('1^2^3^4', '[^^]+', 1, 2) v_2,
REGEXP_SUBSTR('1^2^3^4', '[^^]+', 1, 3) v_3,
REGEXP_SUBSTR('1^2^3^4', '[^^]+', 1, 4) v_4
from dual
결과입니다 : 1,1,2,3,4
제가 원하는 결과 형식 : 아래 2가지입니다.
각 결과 숫자 합친 값 : 1234
각 결과 숫자의 계산값 : 10
v_1, v_2 .... 등의 값을 변수로 받을려고 하는데 이런것도 가능할런지 문의드립니다.
부탁드립니다^^
도움이 될까싶어 적어 봅니다.
SELECT TO_NUMBER(DBMS_XMLGEN.GETXMLTYPE('SELECT ' || A || ' FROM DUAL').EXTRACT('//text()')) AS TOT
FROM ( SELECT REPLACE('1^2^3^4', '^', '+') A FROM DUAL );
감사합니다.^^
DBMS_XMLGEN.GETXMLTYPE 에 관해 또하나 배우게 되네요.
앞으로도 많은 조언 부탁드립니다.^^
select
REPLACE ( '1^2^3^4', '^', '' )
, TO_NUMBER ( dbms_xmlgen.getxmltype ( 'SELECT ' || REPLACE ( '1^2^3^4', '^', '+' ) || ' a FROM DUAL' ).extract('//text()') )
from dual
v_1등의 변수는 동적 Sql로 만드셔야 합니다.
감사합니다.^^
DBMS_XMLGEN.GETXMLTYPE 에 관해 또하나 배우게 되네요.
앞으로도 많은 조언 부탁드립니다.^^
SELECT v , REPLACE(v, '^') r1 , SUM(REGEXP_SUBSTR(v, '[^^]+', 1, LEVEL)) r2 FROM (SELECT '1^2^3^4' v FROM dual) CONNECT BY LEVEL <= LENGTH(v) - LENGTH(REPLACE(v, '^')) + 1 GROUP BY v ;
감사합니다.^^
CONNECT BY LEVEL 이 구문은 처음 보다보니 좀더 공부가 필요한것 같습니다.ㅠ
앞으로도 많은 조언 부탁드립니다.^^