`LISTAGG`函數是Oracle數據庫中的一個聚合函數,用于將多行數據按指定分隔符連接成單個字符串。
具體來說,`LISTAGG`函數接收兩個參數:要連接的列和分隔符。它會將指定列的值按照指定的分隔符連接起來,并返回一個包含所有連接值的字符串。如果沒有指定分隔符,則默認使用逗號作為分隔符。
以下是使用`LISTAGG`函數的示例:
SELECT department_id, LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_name) ASemployee_list
FROM employees
GROUP BY department_id;
在上述示例中,我們從`employees`表中根據`department_id`對員工姓名進行分組,并使用`LISTAGG`函數將每個部門中的員工姓名連接成一個字符串,使用逗號作為分隔符。最終的查詢結果將包含部門ID和對應的員工姓名列表。
總而言之,`LISTAGG`函數允許我們以一種簡潔的方式將多行數據合并成單個字符串,并在需要時添加分隔符。這對于生成報告、顯示相關值等場景非常有用。