Amazon redshift 如何在红移数据库的列中查找第二个和第三个出现字符(,)?

Amazon redshift 如何在红移数据库的列中查找第二个和第三个出现字符(,)?,amazon-redshift,Amazon Redshift,在红移中,我使用下面的代码。但我只得到第一个特殊字符的位置 如果您最终需要单个字段值,而不仅仅是可以使用的逗号位置,请从测试中选择id、regexp_instr(id’、’、regexp_instr(id’、’、2): 您能提供您试图解析的记录的示例吗?我的记录如5434980cd70ba0c37d0028、544976cae79548b16810、55AFDBE67245000A01。所以我需要(,)值的第一、第二、第三个位置。为什么要找到这些位置?是解析字段中的单个元素吗?谢谢!完美地工作

在红移中,我使用下面的代码。但我只得到第一个特殊字符的位置


如果您最终需要单个字段值,而不仅仅是可以使用的逗号位置,请从测试中选择id、regexp_instr(id’、’、regexp_instr(id’、’、2):


您能提供您试图解析的记录的示例吗?我的记录如5434980cd70ba0c37d0028、544976cae79548b16810、55AFDBE67245000A01。所以我需要(,)值的第一、第二、第三个位置。为什么要找到这些位置?是解析字段中的单个元素吗?谢谢!完美地工作
select split_part(id, ',', 1) id1,
    split_part(id, ',', 2) id2,
    split_part(id, ',', 3) id3
from (select '5434980cd70ba0c37d0028, 544976cae79548b16810, 55afdbe672450000a01' id);

          id1           |          id2          |         id3
------------------------+-----------------------+----------------------
 5434980cd70ba0c37d0028 |  544976cae79548b16810 |  55afdbe672450000a01
(1 row)