勵志

勵志人生知識庫

listagg用法

`LISTAGG`是Oracle資料庫中的一個函式,用於將多行數據合併成一個由指定分隔設定連線的字元串。其基本語法為`LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY column_name)`。

其中,`column_name`代表要合併的列名,`delimiter`是要使用的分隔設定,而`ORDER BY`子句是可選的,用於指定合併結果的排序順序。例如,如果有一個表包含姓名和年齡欄位,可以使用`LISTAGG`函式將所有姓名連線成一個字元串,使用逗號和空格作為分隔設定。

此外,`LISTAGG`還可以與`OVER(PARTITION BY)`一起使用,以在不分組的情況下對數據進行聚合操作。需要注意的是,`LISTAGG`函式返回的結果是`VARCHAR2`格式的數據,如果合併後的字元串長度超過4000位元組,可能會遇到錯誤。

另外,其他資料庫系統如SQL Server提供了類似的函式,但名稱不同(如`STRING_AGG`)。