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;
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)