我正在将一些 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
阅读 SQL Server 文档我知道这会创建一个逗号分隔的列表。我想我可以改变stuff
功能为overlay
Postgresql 中的函数'.我对么?
第二个问题与 SQL Server 相关for xml path
以 ('') 作为参数。它返回分配给名为的属性的值pNAMES
而不是创建行元素。那是对的吗?
是否有 PostgresqlQuery_to_xml()
带属性的函数tableforest = 'true'
照着做?
谢谢。
您可以使用string_agg
反而。
SQL小提琴
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');
Query 1:
select string_agg(Name, ',') as Names
from T
Results:
| NAMES |
---------------------
| Kalle,Pelle,Urban |
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)