我有 1 列的 Oracle DB 表UUID
如何将UUID
一个字符串中的所有值连接起来,以","
使输出类似于
"id1","id2","id3","id4"....
您可以使用listagg()
:
select listagg(uuid, ',') within group(order by uuid) uuids
from mytable
这将为您提供一条记录,其中包含所有uuid
s 的单列,用逗号分隔。
请注意,listagg()
返回 a varchar
,因此输出不能超过 4000 字节。
另请注意:
逗号是默认分隔符,因此在您的情况下,不必将第二个参数传递给函数
我添加了一个order by
子句以生成确定性结果:此选项不是强制性的,因此如果列表中项目的顺序对您无关紧要,那么您可以将其分开(在这种情况下,您将获得uuid
未定义的 s命令)
您可以使用listagg()
-- 假设没有太多值。最大字符串大小为 4000 字节。
selest '"' || listagg(uuid, '","') within group (order by uuid) || '"'