안녕하세요...티베로에서 오라클 펑션찾으려고하는데...비슷한게 없네요.... 0 6 5,844

by 기본충실 [Tibero] [2018.02.20 10:23:25]


오라클 쓸때 이렇게 썻엇는데....

티베로에서는 오류나더라구요...

비슷한 펑션있나여??

도저희 찾아도 안나오네요...

------------------------------------------------

Oracle 11g에 LISTAGG라는 function이 추가되었습니다. 이 function은 group by로 그룹핑된 문자열 row들을 하나의 컬럼으로 결합시키는 역할을 하게 됩니다. 간단하게 예를 들어보도록 하겠습니다.

 

 DEPTNO

 NAME

 1

 김태희

 1

 전지현

 2

 성나정

 3

 고아라 

 

11G에서나온거

select comp_nm,LISTAGG(EMP_NM,',')withingroup(orderby comp_nm)

    from TB_TEST_A

group by comp_nm ;

 

 

9I버전 

 

select comp_nm,SUBSTR(XMLAgg(XMLELEMENT(x, ',', EMP_NM) ORDER BY EMP_NM).Extract('//text()'), 2)

    from TB_TEST_A

group by comp_nm ;

 

 

 

DEPTNO 

NAME 

김태희, 전지현 

 

 

 

오라클 버전마다 다르다.

SELECT deptno

     , SUBSTR(XMLAgg(XMLELEMENT(x, ',', empno) ORDER BY empno).Extract('//text()'), 2) "9i" 일때

     , WM_CONCAT(empno) "10g" 일때

     , LISTAGG(empno, ',') WITHIN GROUP(ORDER BY empno) "11g" 일때

  FROM emp

 GROUP BY deptno

 ORDER BY deptno

 

by 마농 [2018.02.20 10:39:32]

AGGR_CONCAT(name, ',' ORDER BY name)
http://gurubee.net/article/55512
티베로는 오라클과 구문이 거의 99% 호환되는 걸로 아는데요? 오타는 없는지 확인해 보세요.


by 기본충실 [2018.02.20 10:59:35]

저도 될줄알았는데....이상하게 안돼네요


by 마농 [2018.02.20 11:06:51]

테베로에서 listagg 정상 동작 확인했습니다.
오타는 없는지 확인해 보세요.


by 기본충실 [2018.02.20 11:31:08]

,Aggr_Concat(S.REPRSNT_EXC_INSTT_CHARGER_INFO,',' ORDER BY S.rowcnt)  이렇게 쓰면 되는군요;;;


by 기본충실 [2018.02.20 11:35:01]

감사합니다~


by 기본충실 [2018.02.20 11:19:43]
,ListAgg(S.REPRSNT_EXC_INSTT_CHARGER_INFO,',') WITHIN GROUP(ORDER BY S.rowcnt)  이렇게 썻는데....

안되네요....
티베로도 버전타나여??

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입