📜  PostgreSQL – STRING_AGG()函数(1)

📅  最后修改于: 2023-12-03 15:18:38.548000             🧑  作者: Mango

PostgreSQL – STRING_AGG()函数

在 PostgreSQL 中,STRING_AGG() 是一个流行的聚合函数,它将行中的值连接成一个单独的字符串。在本文中,我们将深入探讨 STRING_AGG() 函数的使用及其有用的示例。

语法

STRING_AGG() 的基本语法如下:

STRING_AGG(expression, delimiter)

其中:

  • expression:要连接的表达式。可以是列名、数字或计算结果。
  • delimiter:用于分隔连接的值的分隔符。可以是文本或非文本。
示例

下面是 STRING_AGG() 的几个示例,用于说明其用法:

示例 1:连接字符串

下面的示例使用 STRING_AGG() 连接一个字符串列 colors 中的值:

SELECT STRING_AGG(colors, ', ')
FROM (VALUES ('red'), ('green'), ('blue'), ('yellow'), ('purple')) AS T(colors);

输出:

red, green, blue, yellow, purple
示例 2:连接数字

下面的示例使用 STRING_AGG() 连接一个数字列 numbers 中的值:

SELECT STRING_AGG(numbers::text, ', ')
FROM (VALUES (1), (2), (3), (4), (5)) AS T(numbers);

输出:

1, 2, 3, 4, 5
示例 3:连接计算结果

下面的示例使用 STRING_AGG() 连接一个计算列 result 中的值:

SELECT STRING_AGG(result::text, ', ')
FROM (
  SELECT ((x + y) * (z - w)) AS result
  FROM (VALUES (1, 2, 3, 4), (5, 6, 7, 8), (9, 10, 11, 12)) AS T(x, y, z, w)
) AS T(result);

输出:

-3, -21, -33
总结

STRING_AGG() 是一个非常有用的 PostgreSQL 函数,可以将行中的值连接成一个单独的字符串。使用它可以轻松地处理各种数据类型,包括字符串、数字和计算结果。希望本文对您有所帮助,欢迎留言评论。