gpt4 book ai didi

postgresql - 将 SETOF 转换为字符串

转载 作者:行者123 更新时间:2023-11-29 12:03:17 28 4
gpt4 key购买 nike

函数 json_object_keys(json) 返回一个 setof text。如何将此 setof text 转换为所有元素均由 ',' 分隔的字符串?我必须使用函数 array_to_string() 但它接受一个数组,而不是 setof。那么如何将 setof 转换为数组。例如:

DECLARE 
custom_fields json;
BEGIN
custom_fields:='{"name":"John Smith","age":23}';
keys:=array_to_string(json_object_keys(custom_fields),','::text);
END

以上不起作用,我得到:

ERROR:  function array_to_string(text, text) does not exist

那么,如何将 SETOF 转换为 ARRAY

最佳答案

json_object_keys() 函数是一个返回集合的函数,因此您应该将它用作行源(= 在 FROM 子句中)。使用 string_agg() 函数,您可以得到结果:

SELECT string_agg(cf, ',') INTO keys
FROM json_object_keys(custom_fields) jok(cf);

请注意,由于 INTO 子句,这仅适用于 PL/pgSQL 函数。

关于postgresql - 将 SETOF 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42498557/

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