Oracle在11g版本之后,取消了wm_concat
函數,所以在較新的版本中無法直接使用該函數。
如果你需要連接多行數據成為一個字符串,可以使用LISTAGG
函數來實現。LISTAGG
函數的語法如下:
LISTAGG(column_name, separator) WITHIN GROUP (ORDER BY column_name)
其中,column_name
是要連接的列名,separator
是連接的分隔符。如果需要按照某個列進行排序,可以使用WITHIN GROUP (ORDER BY column_name)
子句。以下是一個使用LISTAGG
函數的示例:
SELECT department_id, LISTAGG(employee_name, ',') WITHIN GROUP (ORDER BY employee_name)
FROM employees
GROUP BY department_id;
如果你使用的是較舊的Oracle版本,也可以考慮使用其他方法實現字符串連接,如使用XMLAGG
函數或自定義函數等。