2024年4月19日发(作者:)

oracle中listagg函数的用法

listagg函数用于将一列数据合并成一个字符串,并在合并过程中

指定分隔符。它的用法如下:

```

LISTAGG(expr, separator) WITHIN GROUP (ORDER BY sort_expr)

```

其中,`expr`是要合并的列,`separator`是分隔符,

`sort_expr`是对合并结果的排序方式。例如:

```

SELECT dept_name, LISTAGG(emp_name, ', ') WITHIN GROUP

(ORDER BY emp_id)

FROM employees

GROUP BY dept_name;

```

该语句会将`employees`表中每个部门内的员工名字按照`emp_id`

排序,并用逗号加上空格分隔合并成一个字符串。

除了基本用法,listagg还具有其他一些可选参数,如指定重复值

分隔符`DISTINCT`,指定超出字符串长度时的截断方式`ON OVERFLOW

TRUNCATE`等。

总之,listagg函数是一个非常方便的数据处理工具,可以快速地

将一列数据合并成一个字符串进行分析。