oracle截取字符串

一、oracle截取字符串
1、substr
SUBSTR(“字符串”, 起始位, 截取长度)
从起始位置截取一定长度的字符串,起始位置从1开始
SUBSTR(“字符串”,起始位)
从起始位置截取到结尾的字符串

2、substrb
substrb格式和substr一致,substr()是按照字符来算的,而substrb()是按照字节来算的,对中文的计算不一致
在substr里一个中文算1个长度,在substrb里一个中文算2个长度

二、oracle查找字符位置
1、instr
INSTR(‘源字符串’,’要查找的字符串’,查找的开始位置,需要定位到第几次出现的地方)
返回字符串出现的位置

2、例子
select instr(‘12345678@qq.com’, ‘@’, 1) from dual;
结果:9
select substr(‘12345678@qq.com’, instr(‘12345678@qq.com’, ‘@’, 1)) from dual;
结果:@qq.com