4

Oracleには、orderidsと呼ばれる列があります

orderids
111,222,333
444,55,66
77,77

出力を次のように取得する方法

Orderid
111
222
333
444
55
66
77
77
4

4 に答える 4

4

これを試して:

 WITH TT AS
 (SELECT orderid COL1 FROM orders)
 SELECT substr(str,
                   instr(str, ',', 1, LEVEL) + 1,
                   instr(str, ',', 1, LEVEL + 1) -
                   instr(str, ',', 1, LEVEL) - 1) COL1
     FROM   (SELECT rownum AS r,
                    ','|| COL1||',' AS STR
               FROM   TT )
     CONNECT BY PRIOR r = r
         AND    instr(str, ',', 1, LEVEL + 1) > 0
         AND    PRIOR dbms_random.STRING('p', 10) IS NOT NULL
;

ここに画像の説明を入力

このSQLFiddleを参照してください

于 2013-10-05T08:45:53.363 に答える
0
instr(','||NVL('972414AQ,972414AQ',I.CUSIP)||',', ','||I.CUSIP||',') > 0

これは私が探していた実際のクエリです。

于 2016-10-05T18:43:19.203 に答える