[英]Oracle EXTRACT xml in PostgreSQL
I'm right in the middle of migration from Oracle to PostgreSQL and I have problem with something like that: 我在从Oracle迁移到PostgreSQL的过程中是对的,并且我对以下问题有疑问:
RTRIM(XMLAGG(XMLELEMENT(e,'WZ-'||C.docnum,'; ')
.EXTRACT('//text()') ORDER BY C.docnum).GetClobVal(),'; ') As x
How to convert it on PostgreSQL? 如何在PostgreSQL上转换它? Thanks in advance
提前致谢
As far as I can tell this is using XMLAGG
only because Oracle's listag()
can't handle strings larger than 4K (or 32K in Oracle 12). 据我所知,之所以使用
XMLAGG
仅是因为Oracle的listag()
无法处理大于4K(或Oracle 12中为32K)的字符串。
So I think what you want is a simple: 所以我认为您想要的是一个简单的方法:
string_agg('WZ-'||c.docnum, '; ' order by c.docnum)
If docnum
can be NULL
you maybe want: 如果
docnum
可以为NULL
,则可能需要:
string_agg(concat('WZ-', c.docnum), '; ' order by c.docnum)
because concat()
will treat null
values as an empty string ( ||
will yield null
if any of the values involved is null
) 因为
concat()
会将null
值视为空字符串(如果所涉及的任何值为null
||
将产生null
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.