在 Oracle 中,我有名为 orderids 的列
orderids
111,222,333
444,55,66
77,77
如何获得输出为
Orderid
111
222
333
444
55
66
77
77
最佳答案
尝试这个:
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
关于sql - 在 Oracle 9i 中拆分逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195751/