0

我有 1 列的 Oracle DB 表UUID

在此处输入图像描述

如何将UUID一个字符串中的所有值连接起来,以","使输出类似于

"id1","id2","id3","id4"....
4

2 回答 2

1

您可以使用listagg()

select listagg(uuid, ',') within group(order by uuid) uuids
from mytable

这将为您提供一条记录,其中包含所有uuids 的单列,用逗号分隔。

请注意,listagg()返回 a varchar,因此输出不能超过 4000 字节。

另请注意:

  • 逗号是默认分隔符,因此在您的情况下,不必将第二个参数传递给函数

  • 我添加了一个order by子句以生成确定性结果:此选项不是强制性的,因此如果列表中项目的顺序对您无关紧要,那么您可以将其分开(在这种情况下,您将获得uuid未定义的 s命令)

于 2020-02-17T12:21:33.233 回答
1

您可以使用listagg()-- 假设没有太多值。最大字符串大小为 4000 字节。

selest '"' || listagg(uuid, '","') within group (order by uuid) || '"'
于 2020-02-17T12:22:01.617 回答