sql – db2中的Listagg替代方案
发布时间:2021-05-23 20:02:15 所属栏目: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
... (编辑:天瑞地安资讯网_瑞安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 用于数据库分片的MySQL代理替代方案
- 处理SQL Server的“此数据库没有有效所有者”问题
- HTML超链接a标签_动力节点Java学院整理
- 不使用任何数据库对asp.net网站进行身份验证
- ORA-00900:无效的SQL语句 – 在oracle 10g中运行过程时
- 日志文件 – SQL Server维护计划:重建索引和事务日志备份文
- sql-server-2008 – 与SQL Server分开安装Team Foundation
- sql – Postgres:选择具有大于1的字段数的所有行
- sql-server – 包含要使用文件流的二进制文件的现有表
- SQL事件探查器可以在查询旁边显示返回结果集吗?
站长推荐
热点阅读

