日期:2014-05-17  浏览次数:21044 次

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

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

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

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

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





------解决方案--------------------
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
------解决方案--------------------
探讨

不能写死了啊