ORACLE字符串截取成数组 如果有个字符串 如: 1,2,3 当然字符串长度不固定,但是肯定以“,”进行分割用pl/sql 怎么截取成一个数组,数组元素分别为1,2,3请兄弟们帮写端程序 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --提供一个参考scott@YPCOST> with tb as( 2 select '11;22;3323;abc;ddd' id from dual) 3 select 4 substr(';'||id||';',instr(';'||id||';',';',1,rownum)+1, 5 instr(';'||id||';',';',1,rownum+1)-instr(';'||id||';',';',1,rownum)-1) newid, 6 instr(';'||id||';',';',1,rownum)col1, --';'rownum次出现的位置 7 instr(';'||id||';',';',1,rownum+1)col2, --';'rownum+1次出现的位置 8 instr(';'||id||';',';',1,rownum+1)-instr(';'||id||';',';',1,rownum) col3 --要截取的长度 9 from tb 10 connect by rownum <= length(';'||id||';') 11 - length(replace(';'||id||';', ';', ''))-1 12 /NEWID COL1 COL2 COL3---------------------------------------- ---------- ---------- ----------11 1 4 322 4 7 33323 7 12 5abc 12 16 4ddd 16 20 4 suse11下使用expdp报错! 如何取消一个用户的权限 请问如何通过程序提取alert_SID.log中的死锁信息 oracle中用户与数据表的隶属问题 怎么判断SELECT后的结果集是否存在? 编译plsql时出现“《PLS-00801》 内部错误[79110]”怎么解决???? 倾囊献出!!!!!!!!!!!!高手帮忙 oracle中删除一个用户,用语法如何写 单表sql问题 sqlplus可以连接,可是sqldeveloper连接不上啊 关于JAVA读取clob慢的问题 高分求写存储过程,或SQL语句。分销行业的价格上下限修改
scott@YPCOST> with tb as(
2 select '11;22;3323;abc;ddd' id from dual)
3 select
4 substr(';'||id||';',instr(';'||id||';',';',1,rownum)+1,
5 instr(';'||id||';',';',1,rownum+1)-instr(';'||id||';',';',1,rownum)-1) newid,
6 instr(';'||id||';',';',1,rownum)col1, --';'rownum次出现的位置
7 instr(';'||id||';',';',1,rownum+1)col2, --';'rownum+1次出现的位置
8 instr(';'||id||';',';',1,rownum+1)-instr(';'||id||';',';',1,rownum) col3 --要截取的长度
9 from tb
10 connect by rownum <= length(';'||id||';')
11 - length(replace(';'||id||';', ';', ''))-1
12 /NEWID COL1 COL2 COL3
---------------------------------------- ---------- ---------- ----------
11 1 4 3
22 4 7 3
3323 7 12 5
abc 12 16 4
ddd 16 20 4