有人可以让我知道如何将下面的Oracle代码从Oracle转换为Postgres数据库。
select RTRIM(
XMLAGG(
XMLELEMENT(E,
(SEC_PROMOTION_ID ||'+'|| SEC_OFFER_ID),
'|'
).EXTRACT('//text()')
ORDER BY (SEC_PROMOTION_ID ||'+'|| SEC_OFFER_ID)
).GETCLOBVAL(),
'|'
) SEC_PROMO_OFFERS
from SSP2_PCAT.IE_FOR_SSP_STAGING;
答案 0 :(得分:2)
这似乎是一种解决方法,可以克服Oracle对于listagg()
的结果令人讨厌的4000字节的限制。
在Postgres中这要容易得多
select string_agg(sec_promotion_id||'+'||sec_offer_id, '|' order by sec_promotion_id, sec_offer_id) as sec_promo_offers
from IE_FOR_SSP_STAGING