当前位置: 首页 > 面试题库 >

PostgreSQL中的LISTAGG(Oracle数据库)等效于什么?

颛孙俊
2023-03-14
问题内容

我必须用最新的PostgreSQL替换Oracle驱动程序。PostgreSQL不知道函数LISTAGG。我必须将concat值用逗号分隔。LISTAGGPostgreSQL中Oracle函数的等效功能是什么?


问题答案:

PostgreSQL中的等效功能是 STRING_AGG()

SELECT STRING_AGG (column_name,', ') 
FROM my_table

string_agg :连接到字符串中的输入值,由定界符分隔

例如,agreement_id在Apache Ofbiz 17.12.04中获取所有列表,然后用字符串表示它。

SELECT STRING_AGG(agreement_id, ', ') FROM agreement_item;

-- result
-- "8000, DS-1000-SALES, DS-1000-PURCH, 9000, AGR_SALES"


 类似资料:
  • 问题内容: 我有一个Oracle 11g XE数据库,并且有一个查询结果集: 我想在逗号分隔的同一行中获得所有相关类别的不同ID,像这样 我以前使用过Postgres,并在那里提供了帮助。如何在Oracle 11g XE中获得相同的结果? 问题答案: 除非您在存储过程中使用它来将输出另存为数组(或集合),否则使用的查询应该足够并提供相同的输出。 在oracle中,我们没有像这样的简单转换函数。但是

  • 问题内容: 我想知道PostgreSQL中的数据类型等效吗? 问题答案: 根据文档,您好像是您的朋友,范围从-9223372036854775808到9223372036854775807。

  • 问题内容: Oracle的数据库链接允许用户查询多个物理数据库。 是否有任何MySQL等效产品?解决方法? 我想在两个表中运行联接查询,这两个表位于两个物理数据库中。在MySQL中可能吗? 问题答案: 我可以为您的方案考虑四种可能的解决方法: 查询 外部 表时,请使用完全限定的表名。MySQL支持-syntax访问当前数据库范围之外的表。这要求当前连接的用户具有从另一个物理数据库中的请求表中读取的

  • 问题内容: 在oracle中,该函数允许我将其与子句一起使用。但是,它不支持使用带有或关键字的窗口。 我有一个来自商店寄存器的数据集(针对该问题进行了简化)。请注意,寄存器表的数量始终为1-一项,一条交易行。 我必须将此数据“匹配”到特殊订购系统中的表,在该系统中,项目按数量分组。请注意,系统可以在多行上具有相同的项目ID(即使项目相同,订购的组件也可能不同)。 我可以匹配此数据的 唯一 方法是按

  • 问题内容: 我是Oracle的新手。卡在下面:我有下面的2表: 地点: 人们: 现在在我的查询中,我想要这样的输出: 还有几点: -该解决方案应该在Oracle 10g和11g中都可以使用。 -为简洁起见,我在上面的示例中给出了一小部分数据,但是在我的产品场景中,一个Person可以与1000+个位置相关联,并且可以有1000+个这样的人,因此在这种情况下解决方案应该不会失败! 任何帮助将不胜感激

  • 问题内容: listagg是Oracle 11.2中引入的功能!现在,此功能正在分配给我们,我们正在从MySQL迁移到Oracle,我们有以下查询: 据我们所知,Oracle在MySQL下工作正常,在MySQL下运行良好,它会根据需要返回VARCAR而不是CLOB! 文本很大,我们确实需要CLOB ! 这是我试图做的! 创建一个CLOB类型的CLOB_T表! 然后创建函数 现在,如果我运行它: 我