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
函数替代,效果相同。