【问题标题】:How to Split a String and Iterate in Redshift如何在 Redshift 中拆分字符串并进行迭代
【发布时间】:2020-11-19 20:20:27
【问题描述】:

我是 Redshift 的新手,我偶然发现了一个场景,在该场景中,我的程序想要拆分一个字符串并对其进行迭代并对其进行一些操作。我知道 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 iterate through one by one and do some manipulations.
  END;
$$ LANGUAGE plpgsql;

有人可以指导我吗?

提前致谢,

【问题讨论】:

  • John 的回答是正确的,但由于您是 Redshift 的新手,我会给出建议。如果您需要操作的数据很大,请确保您需要一个存储过程并且无法使用直接 SQL 执行相同的操作。您会看到存储过程提供了极大的灵活性,在大数据上调用它们可能会很慢。因此,如果您可以在没有存储过程的情况下度过难关,那么在 Redshift 中您的大数据执行时间会更好。

标签: sql amazon-web-services amazon-redshift


【解决方案1】:

您可以创建一个递增值循环,并调用SPLIT_PART(),传入循环值。

如果部分大于字符串部分的数量,SPLIT_PART 返回一个空字符串。

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

【讨论】:

    猜你喜欢
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多