wm comcat

2024. 9. 9. 00:43DBMS/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