如何在redshift db中的列中找到第2和第3个出现的char(,)?

时间:2017-02-20 10:59:23

标签: amazon-redshift

在红移中我使用下面的代码。但我只获得第一个特殊角色位置。

SELECT id,regexp_instr(id,','),regexp_instr(id,',',2)FROM test

1 个答案:

答案 0 :(得分:0)

如果您最终需要单个字段值而不仅仅是逗号的位置,则可以使用SPLIT_PART

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)