sql – db2中的Listagg替代方案
发布时间:2021-05-24 09:48:14 所属栏目:MsSql教程 来源:网络整理
导读:我的客户正在使用没有listagg函数的db2数据库,但我需要以某种方式在一个字段内聚合主键信息. 现在(对于Oracle)我使用它作为更大查询的一部分: SELECT LISTAGG(COLUMN_NAME || ':' || CONTENT,',') WITHIN GROUP (ORDER BY COLUMN_NAME || ':' || CONTENT) FR
我的客户正在使用没有listagg函数的db2数据库,但我需要以某种方式在一个字段内聚合主键信息. 现在(对于Oracle)我使用它作为更大查询的一部分: SELECT LISTAGG(COLUMN_NAME || ':' || CONTENT,',') WITHIN GROUP (ORDER BY COLUMN_NAME || ':' || CONTENT) FROM TABLE WHERE ROW_IDENTIFIER_ID = I.REC_ID AND I.TABLE_RESULT_ID = T.REC_ID 在DB2版本9.7修订包41之前,有另一种方法可以在db2数据库中获取listagg函数的结果吗? 我客户数据库的版本: SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO()) AS SYSTEMINFO; SELECT * FROM TABLE(SYSPROC.ENV_GET_PROD_INFO()) AS SYSTEMINFO; SELECT * FROM TABLE(SYSPROC.ENV_GET_SYS_INFO()) AS SYSTEMINFO; 我承认我不明白,怎么可能是9.7,但是没有listagg功能?! :困惑: 我也做过了: SELECT * FROM SYSCAT.FUNCTIONS 我回到了这个function list,但是在答案中没有替代解决方案中提到的xmltext或xmlgroup等功能:(. 谢谢你的回复. 解决方法如果您的DB2版本支持pureXML(至少是DB2 for LUW 9.1,我相信DB2 9 for z / OS),除了上面提到的@ PM77-1之外,您还可以使用XMLAGG函数:select xmlserialize( xmlagg( xmlconcat( xmltext(column_name),xmltext(':'),xmltext(content),xmltext(',') ) ) as varchar(10000) ) from yourtable ... (编辑:孝感站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 模仿group_concat()与GROUP BY结合使用
- linq-to-sql – 针对Sql Server 2000的TransactionScope错误
- MSN发布即时消息爱好者站点:ilovemessenger
- 逗号分隔的字符串到SQL Server中的表的列
- sql-server – 索引不会使执行更快,并且在某些情况下会降低
- SQL Server 2008 – 拆分
- sql做分页查询有哪些方法,你知道多少?
- 企业进行线上采购管理具体会有什么好处呢?
- sql-server-2000 – 如何从PHP 5.3及更高版本连接到MSSQL 2
- sql-server – 如何使用sql server 2008安全地销毁某些数据
站长推荐
热点阅读