wm comcat
2024. 9. 9. 00:43ㆍDBMS/SQLQuery
반응형
WM_CONCAT 함수는 19c에서는 지원되지 않으므로 LISTAGG 함수로 변경해야 한다.
- WM_CONCAT 함수는 Oracle 11g에서 사용되던 비공식적인 함수로, 특정 컬럼의 여러 값을 쉼표로 구분하여 결합할 수 있었지만 Oracle 19c에서는 이 함수가 더 이상 지원되지 않으며, ORA-00904 오류를 발생시킬 수 있다. 이 문제를 해결하기 위해 공식적으로 지원되는 LISTAGG 함수를 사용해야 한다. LISTAGG는 특정 컬럼의 값을 구분자로 연결하여 하나의 문자열로 반환해주며, 더 안전하고 효율적인 함수이다.
WM_CONCAT를 사용하던 코드는:
SELECT WM_CONCAT(column_name) FROM table_name;
LISTAGG로 변경하면:
SELECT LISTAGG(column_name, ',') WITHIN GROUP (ORDER BY column_name) FROM table_name;
반응형
'DBMS > SQLQuery' 카테고리의 다른 글
trim (0) | 2024.07.24 |
---|---|
PERCENT_RANK() 상대평가 (0) | 2024.06.22 |
WINDOW FUNCTION (0) | 2024.06.22 |
계층 쿼리 prior 위치 (0) | 2024.05.21 |
NVL, COALESCE, NULLIF (0) | 2024.05.20 |