declare p_str varchar2(1000); l_str varchar2(3000); begin p_str:='1,2,3,4,5'; l_str:=''''||replace(p_str,',',''',''')||''''; dbms_output.put_line(l_str); end;
在另外一个贴子你给你回复过了啊: select regexp_substr('1,12,13,14', '[^,]+', 1, n) FROM dual left join (select level,rownum n from dual connect by level < 10) on 1=1 WHERE regexp_substr('1,12,13,14', '[^,]+', 1, n) IS not NULL; 字符串换成什么样子的,都可以分隔出来啊。
select regexp_substr('1,12,13,14', '[^,]+', 1, level) from dual connect by level <= length('1,12,13,14') - length(replace('1,12,13,14', ',', '')) + 1
p_str varchar2(1000);
l_str varchar2(3000);
begin
p_str:='1,2,3,4,5';
l_str:=''''||replace(p_str,',',''',''')||'''';
dbms_output.put_line(l_str);
end;
select regexp_substr('1,12,13,14', '[^,]+', 1, n)
FROM dual left join
(select level,rownum n from dual connect by level < 10) on 1=1
WHERE regexp_substr('1,12,13,14', '[^,]+', 1, n) IS not NULL;
字符串换成什么样子的,都可以分隔出来啊。
from dual
connect by level <=
length('1,12,13,14') - length(replace('1,12,13,14', ',', '')) + 1