【问题标题】:Oracle EXTRACT xml in PostgreSQLPostgreSQL 中的 Oracle EXTRACT xml
【发布时间】:2018-06-18 08:22:30
【问题描述】:

我正处于从 Oracle 迁移到 PostgreSQL 的过程中,但遇到类似问题:

RTRIM(XMLAGG(XMLELEMENT(e,'WZ-'||C.docnum,'; ')
.EXTRACT('//text()') ORDER BY C.docnum).GetClobVal(),'; ') As x

如何在 PostgreSQL 上转换它? 提前致谢

【问题讨论】:

标签: sql postgresql string-aggregation


【解决方案1】:

据我所知,这是使用 XMLAGG 只是因为 Oracle 的 listag() 无法处理大于 4K(或 Oracle 12 中的 32K)的字符串。

所以我认为你想要的很简单:

string_agg('WZ-'||c.docnum, '; ' order by c.docnum)

如果docnum 可以是NULL 你可能想要:

string_agg(concat('WZ-', c.docnum), '; ' order by c.docnum)

因为concat() 会将null 值视为空字符串(如果涉及的任何值是null|| 将产生null

【讨论】:

    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 2013-12-23
    • 2016-03-13
    相关资源
    最近更新 更多