加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle数据库wm_concat函数在PostgreSQL(pg)数据库的替代方案

发布时间:2020-12-12 13:59:55 所属栏目:百科 来源:网络整理
导读:oracle 数据库中比较常用到wmsys.wm_concat () 来连接字符串 把多行的数据库连接到一起(默认是用逗号分割的) oracle 转pg 需要一个替代方案,尽量的应用代码改动小, pg 还是很能干的,果然找到了一个替代方案 [code] cyp_app= df STRING_AGG List of fun
oracle 数据库中比较常用到wmsys.wm_concat () 来连接字符串

把多行的数据库连接到一起(默认是用逗号分割的)
oracle 转pg 需要一个替代方案,尽量的应用代码改动小,
pg 还是很能干的,果然找到了一个替代方案
[code]
cyp_app=> df STRING_AGG
List of functions
Schema | Name | Result data type | Argument data types | Type
------------+------------+------------------+---------------------+------
pg_catalog | string_agg | text | text,text | agg
(1 row)
[/code]
其实呢,pg 提供了一族函数来处理,这种所谓的聚集操作,pg 还对这些函数做了扩展。
arrary_agg () string_agg( ) xmlagg() 分别来处理数组,字符串和xml文档。
SELECT array_agg(a ORDER BY b DESC) FROM table;
SELECT string_agg(a,’,’ ORDER BY a) FROM table;
SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab;
补充一点 oracle 的wm_concat 的结果最大是4k ,pg string_agg 的返回的类型是text ,可以无限长。 至少可以达到1g 的长度。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读