oracle截取某一个字符之前或之后的值;substr();instr()

原文链接:https://www.cnblogs.com/wangkang0320/p/6743965.html

函数介绍:
截取的函数:
substr(?,?);
substr(?,?,?);
这里写图片描述
获取目标字符出现的位置:
instr(? , ? , ? );
instr( ? , ? , ? , ? )
这里写图片描述
例:

字符串 “AAA-BBB” 截取”AAA” “BBB”

select substr('AAA-BBB',1,instr('AAA-BBB','-',-1)-1) 值 from dual;

这里写图片描述

select substr('AAA-BBB',instr('AAA-BBB','-',-1)+1) 值 from dual;

这里写图片描述