+ -
当前位置:首页 → 问答吧 → oracle怎么最简单的方法获取到'tr,89,sfsdf,的身份,werwe'中的sfsdf的位置

oracle怎么最简单的方法获取到'tr,89,sfsdf,的身份,werwe'中的sfsdf的位置

时间:2011-12-21

来源:互联网

oracle怎么最简单的方法获取到'tr,89,sfsdf,的身份,werwe'中的sfsdf的位置

到'tr,89,sfsdf,的身份,werwe' 只是我的一个例子,实际中是从数据库中读取出来的

就是要取到 sfsdf以,分割的序号, 就是 3

我现在是在网上找了一个函数 fun_split  

select column_value from table(到'tr,89,sfsdf,的身份,werwe')
然后游标遍历,获取序号,有更简单的方法吗



作者: yuji821   发布时间: 2011-12-21

10g以后select regexp_substr('tr,89,sfsdf,的身份,werwe','[^,]+',1,3) from dual

10g以前select substr('tr,89,sfsdf,的身份,werwe',
  instr('tr,89,sfsdf,的身份,werwe',',',1,2)+1,
  instr('tr,89,sfsdf,的身份,werwe',',',1,3)-instr('tr,89,sfsdf,的身份,werwe',',',1,2)-1) from dual

作者: forgetsam   发布时间: 2011-12-22