PostgreSQL中的ORACLE wm_concat等价物

PostgreSQL中的ORACLE wm_concat等价物,oracle,postgresql,aggregate-functions,postgresql-9.2,Oracle,Postgresql,Aggregate Functions,Postgresql 9.2,我是PostgreSQL新手,在将数据库从Oracle迁移到PostgreSQL 9.2时遇到问题。我必须在代码中更改一些本机查询。我有一个子查询,如: SELECT wm_concat(p.first_name || ' ' || p.last_name) FROM TODO_PERSON PR JOIN PERSON P ON (p.id == pr.person_id) WHERE todo_id = internal_table.id 在PostgreSQL中,我找不到等效的函数或

我是PostgreSQL新手,在将数据库从Oracle迁移到PostgreSQL 9.2时遇到问题。我必须在代码中更改一些本机查询。我有一个子查询,如:

SELECT wm_concat(p.first_name || ' ' || p.last_name) 
FROM TODO_PERSON PR 
JOIN PERSON P ON (p.id == pr.person_id)
WHERE todo_id = internal_table.id

在PostgreSQL中,我找不到等效的函数或其他解决方案…

PostgreSQL有很多可用的解决方案


wm_concat
等价物似乎是
string_agg
,除非您必须指定分隔符。请查看文档以了解详细信息。

PostgreSQL有一系列可用的


wm_concat
等价物似乎是
string_agg
,除非您必须指定分隔符。请查看文档以了解详细信息。

这只是简单的连接。您可以使用CONCAT函数,也可以只使用管道编写查询

因此,第一个解决方案是:

SELECT CONCAT(p.first_name, ' ', p.last_name) [...]
或:

如果要在结果中添加逗号,只需在列名之间添加逗号而不是空格。i、 e:

选择CONCAT(p.first_name,,,,p.last_name)[……]


你询问的最后一部分相当神秘。你用这些括号干什么?

这只是简单的连接。您可以使用CONCAT函数,也可以只使用管道编写查询

因此,第一个解决方案是:

SELECT CONCAT(p.first_name, ' ', p.last_name) [...]
或:

如果要在结果中添加逗号,只需在列名之间添加逗号而不是空格。i、 e:

选择CONCAT(p.first_name,,,,p.last_name)[……]


你询问的最后一部分相当神秘。你用这些括号做什么?

你确定你的代码在Oracle中工作吗?你确定你的代码在Oracle中工作吗?wm_concat是一个聚合函数-这个答案与最初询问的内容无关。wm_concat是一个聚合函数-这个答案与最初询问的内容无关。