WITH test AS
(SELECT '1,2,3,333,12,12,1212,3123,12,41' c FROM dual)
SELECT substr (t.ca, instr(t.ca, ',', 1, c.lv) + 1, instr(t.ca,
',',
1,
c.lv + 1) -(instr(t.ca,
',',
1,
c.lv) + 1)) AS c
FROM (SELECT ',' || c || ',' AS ca,
length(c || ',') - nvl(length(REPLACE(c, ',')), 0) AS cnt
FROM test) t,(
SELECT LEVEL lv
FROM dual
CONNECT BY LEVEL <= 100) c
WHERE c.lv <= t.cnt;谁能帮忙解释一下这段代码是啥意思?
(SELECT '1,2,3,333,12,12,1212,3123,12,41' c FROM dual)
SELECT substr (t.ca, instr(t.ca, ',', 1, c.lv) + 1, instr(t.ca,
',',
1,
c.lv + 1) -(instr(t.ca,
',',
1,
c.lv) + 1)) AS c
FROM (SELECT ',' || c || ',' AS ca,
length(c || ',') - nvl(length(REPLACE(c, ',')), 0) AS cnt
FROM test) t,(
SELECT LEVEL lv
FROM dual
CONNECT BY LEVEL <= 100) c
WHERE c.lv <= t.cnt;谁能帮忙解释一下这段代码是啥意思?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货