很多小伙伴在使用Oracle的时候,想通过SQL来提取根据某一字符串截取来获得的字符串,他苦于对SQL不是很熟悉,但是现在你可以放心啦,现在先恭喜你找到了答案。因为在这里我已经为你写好了相关的函数以及案例供你参考喽
使用相关的函数:
SUBSTR(?1,?2)
?1:需要截取的字符串
?2:开始截取的位置(包含本身),默认截取到末尾
SUBSTR(?1,?2,?3)
?3:截取的结束位置(包含本身)
INSTR(?1:?2:?3)
?1:需要检索的字符串
?2:目标字符串(也就是需要通过那个字符串进行截取)
?3:开始的位置
INSTR(?1:?2:?3:?4)
?4:第几次出现
示例:
截取目标字符串前的字符串
-- 截取目标字符串之前的字符串 select substr('210-1106000001',1,instr('210-1106000001','-')-1) from dual;
截取目标字符串后的字符串
-- 截取目标字符串之后的字符串 select substr('210-1106000001',instr('210-1106000001','-')+1) from dual;