【发布时间】:2018-05-23 04:22:42
【问题描述】:
我有一个下面的 SQL,我正在尝试将 LISTAGG 转换为 XMLAGG。我的数据库版本是 12.1,因此 LISTAGG 不支持超过 4K 的字符。
原始查询:--
SELECT LISTAGG (se1.EMAIL, ', ')
WITHIN GROUP (ORDER BY se1.EMAIL)
AS listofsgs
FROM abc se1, xyz team , mno sne
WHERE team.employee_id = se1.employee_id
AND sne.non_employee_id = team.non_employee_id
转换后的查询:--
SELECT XMLAGG(XMLELEMENT(se1.EMAIL||',')).EXTRACT('//text()')
WITHIN GROUP (ORDER BY se1.EMAIL)
AS listofsgs
FROM abc se1, xyz team , mno sne
WHERE team.employee_id = se1.employee_id
AND sne.non_employee_id = team.non_employee_id
但是每当我运行它时,它总是会因为缺少逗号的语法错误而失败。我转换后的查询是正确的还是我做错了?
【问题讨论】:
标签: sql oracle listagg string-aggregation