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;124;125
2 123;124;125;126
を:
ID FINELINE_NM
1 123
1 124
1 125
2 123
2 124
2 125
2 126
あなたはそれがすべての可能見ることができる上記のスクリプトのいずれかの変更があります結果に返される要素は?私の知る限り理解し
ようこそStackOverflow!ご了承の上、後ほど変更または削除される可能性があるため、関連性の高い詳細を含む外部ソースにリンクすることはお控えください。リンクを含めることは大丈夫ですが、質問に関連するものを質問自体に含めることを検討してください。 – STLDeveloper