在Oracle數據庫中,LISTAGG函數用于將多行數據合并為單個字符串。其基本語法如下:
LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY order_column)
其中,column_name是要合并的列名,delimiter是用于分隔合并后的值的字符,order_column是用于指定合并時的排序順序(可選)。
示例: 假設有一個表t1,包含以下數據:
name
-----
Alice
Bob
Cathy
使用LISTAGG函數將name列合并為一個逗號分隔的字符串:
SELECT LISTAGG(name, ', ') WITHIN GROUP (ORDER BY name) AS names
FROM t1;
結果為:
names
----------
Alice, Bob, Cathy
需要注意的是,LISTAGG函數在Oracle 11g及以上版本中可用。