oracle 12c 使用 WM_CONCAT 函数提示标识符无效

问题描述

查询语句使用 WM_CONCAT 函数时报错:

1
Error querying database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00904: "WM_CONCAT": 标识符无效

解决方案

11gR2 和 12c 上已经摒弃了该函数,在程序中若使用该函数,将导致程序出现错误

在我们需要将某字段多行内容拼接起来的时候,wm_concat 提供了简洁的方法,这使得这个未公开的函数得到了广泛的宣传与运用。但是,不公开就意味着随时可能发生变更。在 10.2.0.5 上,其返回类型从 varchar2 变为了 clob,而在 12c 当中,干脆就取消了此函数。同样未公开的,还有 reverse 函数。

listagg 函数替代,效果相同。