例: C15-0812-13-3 长度不固定,求各横杠之间的各子字符串
解决方案 »
- 如何利用oms进行数据的导入导出工作!
- oracle 存储过程 遇到个问题
- 安装oracle10g时把密码设成了全数字,结果不能进入,具体该怎么办啊?。
- oracle snmp 配置问题
- 如何跟踪客户端执行了哪些SQL指令?
- 两个select查询的结果怎么相减?急用!!!
- 请问怎么改变ORACLE用户数
- 谁有oracle11i的下载路径,必有重谢
- 配置odbc安装orcal驱动提示Could't find Oracle Instant Client in present directory.怎么整
- 请教各位大神一个统计的sql语句,感谢
- 请问用alter语句 怎么改变一个column的size?
- 更改数据库的参数问题~~
select regexp_substr('C15-0812-13-3','[[:alnum:]]{1,}-',1,1,'i') from dual;
select regexp_substr('C15-0812-13-3','[[:alnum:]]{1,}-',1,2,'i') from dual;
select regexp_substr('C15-0812-13-3','[[:alnum:]]{1,}-',1,3,'i') from dual;
http://topic.csdn.net/u/20081002/00/f8d90ba2-e2bb-412a-a0c5-1b6d518fc22a.html
select 'C15-0812-13-3' label
from dual
)
select *
from
(
select trim(substr(label
,instr(label, '-', 1, rn) + 1
,instr(label, '-', 1, rn + 1) - instr(label, '-', 1, rn) - 1
)
) label
from
(
--笛卡尔积
select '-' || t1.label || '-' as label, x.rn
from t1, (
--这里构成一个序列
select rownum rn
from (
select max(length(label) - length(replace(label, '-'))) + 2 comma_cnt --"-"的数量
from t1
)
connect by rownum <= comma_cnt
) x
)
)
where label is not null
那不客气了,收下呵呵.
其实mantisXF总结了很多,他那个帖子没被推荐帖,真不知道这些版主怎么当的.