0
redshift에서 나는 아래의 코드를 사용하고 있습니다.하지만 첫 번째 특수 문자 위치 만 얻고 있습니다.redshift db의 열에서 두 번째 및 세 번째 발생 문자 (,)를 찾는 방법은 무엇입니까?
SELECT ID, REGEXP_INSTR (아이디, ','), REGEXP_INSTR (아이디, ',', 2) 시험
redshift에서 나는 아래의 코드를 사용하고 있습니다.하지만 첫 번째 특수 문자 위치 만 얻고 있습니다.redshift db의 열에서 두 번째 및 세 번째 발생 문자 (,)를 찾는 방법은 무엇입니까?
SELECT ID, REGEXP_INSTR (아이디, ','), REGEXP_INSTR (아이디, ',', 2) 시험
에서 당신은 궁극적으로 개별 필드 값을 원하는 쉼표의 단지 위치하는 경우 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)
감사합니다. 완벽하게 작동 – Velu
구문 분석하려는 레코드의 예를 제공 할 수 있습니까? –
5434980cd70ba0c37d0028, 544976cae79548b16810, 55afdbe672450000a01과 같은 내 기록입니다. 그래서 (,) 값의 1, 2, 3 번째 위치를 원합니다. – Velu
왜 그 위치를 찾고 싶습니까? 필드에서 개별 요소를 파싱하는 것입니까? –