从Oracle到Postgres的转换

时间:2018-10-19 21:30:34

标签: sql postgresql

有人可以让我知道如何将下面的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;

1 个答案:

答案 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