Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何拆分字符串并在红移中迭代_Sql_Amazon Web Services_Amazon Redshift - Fatal编程技术网

Sql 如何拆分字符串并在红移中迭代

Sql 如何拆分字符串并在红移中迭代,sql,amazon-web-services,amazon-redshift,Sql,Amazon Web Services,Amazon Redshift,我是Redshift的新手,我偶然发现了一个场景,在这个场景中,我的过程,我想拆分一个字符串,并对其进行迭代,然后在其中进行一些操作。我知道红移不支持数组,我想知道如何在红移中实现这一点 CREATE OR REPLACE PROCEDURE example(value IN varchar) AS $$ BEGIN --value = 'FIRST, SECOND, THIRD' -> I want to split the string using a comma and i

我是Redshift的新手,我偶然发现了一个场景,在这个场景中,我的过程,我想拆分一个字符串,并对其进行迭代,然后在其中进行一些操作。我知道红移不支持数组,我想知道如何在红移中实现这一点

CREATE OR REPLACE PROCEDURE example(value IN varchar) AS $$
 BEGIN
    --value = 'FIRST, SECOND, THIRD' -> I want to split the string using a comma and iterate through one by one and do some manipulations.
  END;
$$ LANGUAGE plpgsql;
有人能引导我通过它吗


提前感谢,

您可以创建一个递增值的循环,并调用,传递循环值

如果part大于字符串部分的数量,
SPLIT\u part
返回空字符串


因此,如果返回空字符串,您将停止循环。

John的回答是正确的,但由于您是Redshift新手,我将给出一个建议。如果您的数据很大,需要对其进行操作,请确保您需要一个存储过程,并且不能使用纯SQL执行相同的操作。您可以看到存储过程提供了极大的灵活性,在大数据上调用它们可能会很慢。因此,如果您不需要存储过程,那么红移的大数据执行时间会更好。