1
솔루션 1의 here에서 변형 된 다음 SQL 스크립트를 사용하여 배열을 개별 행으로 변환하려고합니다.배열을 Netezza의 행으로 변환
실행할 때 배열의 첫 번째 요소 만 검색합니다. 배열의 모든 요소를 표시하고 싶습니다. 어제,이 스크립트의 일부를 수정 한 것을 기억하고 올바르게 실행 된 것으로 보입니다. 그러나 나는 대본을 저장하지 않았다!
기본적으로SELECT F.ROWID
, C.CNT
, SQLEXT..get_value_varchar(ARR,CAST(DECODE(SIGN(LEN-c.CNT),1,c.CNT,null) AS INT)) AS ELEMENT_NM
FROM (SELECT ROWID
, SQLEXT..ARRAY_SPLIT(FINELINE_NM,';') AS ARR
, SQLEXT..ARRAY_COUNT(SQLEXT..ARRAY_SPLIT(FINELINE_NM,';')) AS LEN
FROM DATABASE.DEV_LDG_REPORT
) AS F
CROSS JOIN (SELECT ROW_NUMBER() OVER (ORDER BY 1) AS CNT
FROM (SELECT *
FROM DATABASE.DEV_LDG_REPORT
LIMIT 100) AS V
) AS C
WHERE DECODE(SIGN(LEN-C.CNT),1, C.CNT, NULL) IS NOT NULL
;
,이를 좋아하는 것 :
ID FINELINE_NM
1 123
1 124
1 125
2 123
2 124
2 125
2 126
는 모든 수를 볼 수 있습니다 위의 스크립트에서 수정이 있습니다
ID FINELINE_NM
1 123;124;125
2 123;124;125;126
는 다음과 같이하기 결과로 반환되는 요소는 무엇입니까?
Welcome to StackOverflow! 잠시 후 변경되거나 삭제 될 수있는 실질적인 관련 세부 정보가 포함 된 외부 소스에 연결하는 것을 삼가 해주십시오. 링크를 포함하는 것은 좋지만 질문과 관련된 모든 것을 질문 자체에 포함시키는 것을 고려하십시오. – STLDeveloper