use*_*262 5 sql postgresql string-aggregation
我正在将一些SQL Server 2008R2查询迁移到Postgresql 9.0,我遇到了一些问题.这是SQL Server查询:
stuff((select ', '+p.[NAME] as 'data()'
from BPROVIDERS_PROVIDER p, BORDER_ARTICLEORDERPROVIDER aop
where p.OID = aop.PROVIDER for xml path('')),1,1,'')) as pNAMES
Run Code Online (Sandbox Code Playgroud)
阅读SQL Server文档我明白这会创建一个以逗号分隔的列表.我认为我可以在Postresql中更改stuff功能overlay.我对么?
第二个问题是SQL Server的for xml path('')作为参数.它返回分配给名为pNAMES而不是create row元素的属性的值.那是对的吗?
Query_to_xml()带属性的Postgresql 函数是否tableforest = 'true'也一样?
谢谢.
Mik*_*son 20
你可以string_agg改用.
PostgreSQL 9.1.6架构设置:
create table T
(
Name varchar(10)
);
insert into T values('Kalle');
insert into T values('Pelle');
insert into T values('Urban');
Run Code Online (Sandbox Code Playgroud)
查询1:
select string_agg(Name, ',') as Names
from T
Run Code Online (Sandbox Code Playgroud)
结果:
| NAMES |
---------------------
| Kalle,Pelle,Urban |
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16087 次 |
| 最近记录: |