如何解决从表 Greenplum 解析数据
我在 Greenplum 中有一个表 scheme2.central_id__new_numbers。
我需要以多对多关系的形式从 scheme2.central_id__new_numbers 中选择数据。
我也写了代码,但一定是在某个地方转错了(代码不起作用):
CREATE FUNCTION my_scheme.parse_new_numbers (varchar) RETURNS SETOF varchar as
$BODY$
declare
i int;
BEGIN
FOR i IN 1..10 LOOP
select
central_id,(select regexp_split_to_table((select new_numbers
from scheme2.central_id__new_numbers limit 1 offset i),'\s+'))
from scheme2.central_id__new_numbers limit 1 offset i
END LOOP;
END;
$BODY$
LANGUAGE plpgsql;
解决方法
我建议改用 UNNEST()
函数,即假设 new_numbers
列是 int[]
数据类型,
SELECT central_id,UNNEST(new_numbers) AS new_numbers
FROM central_id__new_numbers;
如果 new_columns
列不是数组数据类型,那么您需要在使用 string_to_array()
之前使用即 UNNEST()
或类似的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。