gpt4 book ai didi

postgresql - 在 PostgreSQL 中连接属性

转载 作者:行者123 更新时间:2023-11-29 13:35:27 24 4
gpt4 key购买 nike

我正在尝试创建一个聚合函数,它通过分组连接数字。我该怎么办?假设我有一个如下所示的表格。

Table Numbers
123
145
187
105

我希望结果看起来像

105_123_145_187

如果我在 MySQL 中工作,我知道如何使用 group_concat 分隔符 _

我如何在 PostgreSQL 中执行此操作?

最佳答案

已经有这样的函数:

SELECT string_agg(num::text,'_')
FROM Numbers;

详情在这里:string_agg .

告诉我,如果你使用 postgresql 8.4 或更早版本。我将向您展示如何将此功能实现为自定义聚合。

UPD 自定义聚合:

CREATE OR REPLACE FUNCTION public.concat_delimited (text, text, text)
RETURNS text AS
$body$
SELECT $1 || (CASE WHEN $1 = '' THEN '' ELSE $3 END) || $2;
$body$
LANGUAGE 'sql'
IMMUTABLE
RETURNS NULL ON NULL INPUT;

CREATE AGGREGATE public.text_concat (text, text)
(
SFUNC = public.concat_delimited,
STYPE = text
);

关于postgresql - 在 PostgreSQL 中连接属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com