substr(col,instr(col,'-')+1,instr(col,'-',1,2)-instr(col,'-')-1);eg:
select substr('aaaa-bbb-ccccc',instr('aaaa-bbb-ccccc','-')+1,instr('aaaa-bbb-ccccc','-',1,2)-instr('aaaa-bbb-ccccc','-')-1) from dual;
select substr('aaaa-bbb-ccccc',instr('aaaa-bbb-ccccc','-')+1,instr('aaaa-bbb-ccccc','-',1,2)-instr('aaaa-bbb-ccccc','-')-1) from dual;
解决方案 »
- oracle 8i 数据库表同步到mysql数据库中
- 菜鸟提问【送分题】,如何创建自定义函数
- oracle 怎么建索引
- 请进行帮看一样哪种方案好(数据库设计)
- Oracle 执行计划不一致(sql 和存储过程)
- 关于Oracle 10g的问题,请问高手我怎样查看用户在什么时候被哪个用户锁定了?(备注:帐户已经解锁了)
- 按照时间排序的问题?
- 兄弟帮忙看看这个Oracle function,运行没报错,却的不多想要的结果,小弟初学Oracle Function。
- :::::令人郁闷的 Oracle 开发程序问题求救:::::
- 通过odbc列举oracle中的数据库对象,是不是这样的呀???在线等待!!!
- imp错误,指定的多个文件为无界导出文件!!!!急!!!!!!!
- 关于字符串转换的问题
substr函数可以取出子字符串, instr函数可以查到字符的位置
instr(col,'-')+1, --从第1个“-”出现的问题的下一个字符开始
instr(col,'-',1,2)-instr(col,'-')-1 --两个“-”之间的字符个数
) from tbl;
附加信息!!
substr(s,n,m)--string
变量:
s-----string
n-----开始文字位置
m-----文字数
这个函数只能再Oracle,DB2,PostgreSQL里用
instr(s,t[,n[,m]])---integer
s-----string
t-----要检索的文字列
n-----开始文字位置
m-----第几个
这个再oracle用
mySQL, MS Access只有instr(s,t)