2017-02-20 10 views
0

redshiftで私は以下のコードを使用しています。しかし、私は最初に特殊文字の位置を取得しています。redshift dbの列で2番目と3番目のオカレンスchar(、)を検索する方法は?

SELECT ID、REGEXP_INSTR(ID、 '')、REGEXP_INSTR(ID、 ''、2)テスト

+0

構文解析しようとしているレコードの例を挙げることができますか? –

+0

5434980cd70ba0c37d0028,544976cae79548b16810,55afdbe672450000a01のような私の記録。だから私は(、)値の1位、2位、3位を求めます。 – Velu

+0

なぜこれらのポジションを探したいですか?それはフィールドから個々の要素を解析するのですか? –

答えて

0

FROMあなたは最終的には個々のフィールド値ではなく、コンマだけの位置をしたい場合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) 
+0

ありがとうございます!完璧に働く – Velu

関連する問題