0
하면여러 행을 단일 행 및 단일 행에 여러 행으로 표시 하시겠습니까?
전 여러 행에 하나의 행을 표시하는 쿼리를 필요
A, B, C, D, E, F
변화
B에
c
d
E
F 단일 행에 복수의 행을 표시
쿼리
예 :
B
C
D
E
F
변화
에A, B, C, D, E, F
하면여러 행을 단일 행 및 단일 행에 여러 행으로 표시 하시겠습니까?
전 여러 행에 하나의 행을 표시하는 쿼리를 필요
A, B, C, D, E, F
변화
B에
c
d
E
F 단일 행에 복수의 행을 표시
쿼리
예 :
B
C
D
E
F
변화
에A, B, C, D, E, F
콤마/테이블 문자열 : How can I select from list of values in Oracle
select column_value from
table(sys.dbms_debug_vc2coll('One', 'Two', 'Three', 'Four'));
SELECT trim(regexp_substr('Err1, Err2, Err3', '[^,]+', 1, LEVEL)) str_2_tab
FROM dual
CONNECT BY LEVEL <= regexp_count('Err1, Err2, Err3', '[^,]+')
/
쉼표/쉼표 표 :
WM_CONCAT() in 10g as jle mentioned or LISTAGG() in 11g.
SQL> with t as (
2 select 'A,B,C,D,E,F' x from dual
3 )
4 select substr(x,(rownum-1)*2+1,1) from t
5 connect by level <= regexp_count(x,',')+1
6/
S
-
A
B
C
D
E
F
SQL> with t as (
2 select 'A,B,C,D,E,F' x from dual
3 )
4 select listagg(s,',') within group (order by s) str
5 from (
6 select substr(x,(rownum-1)*2+1,1) s from t
7 connect by level <= regexp_count(x,',')+1
8 )
9/
STR
---------------
A,B,C,D,E,F
전통적 표현 계층 문제이고, 데이터베이스에 콤마 분리 된 값을 갖는 항 패턴/코드 냄새된다. 관계형 - 데이터베이스 디자인 패턴은 쉼표로 구분 된 목록이 아닌 정규화 된 데이터 용입니다. 왜 데이터 구조를 비 정렬 화해야하는지 보여주는 유스 케이스가 있습니까? 아마도 우리는 당신에게 그것을 요구하지 않는 다른 패턴을 지적 할 수 있습니다. – MatBailie
wm_concat 함수를 사용해보십시오. – jle