Oracle 数据库右截取实战(oracle右截取)
Oracle数据库中支持使用SUBSTR函数截取字符串,也支持使用INSTR和LENGTH函数及其组合来实现右截取。实现右截取的原理是:通过INSTR函数获取字符串最后一个分隔符的位置,然后再使用SUBSTR函数加上LENGTH函数来截取指定长度的字符串,详细的步骤如下:
1、在Oracle数据库中创建一个test表,test表中含有name字段。
create table test (
id int primary key,
name varchar(30)
);
2、向test表中插入数据,其中name字段值为’aa:bb:cc’。
insert into test (id, name) values (1, ‘aa:bb:cc’);
3、使用INSTR函数获取字符串最后一个分隔符的位置,再动态计算要截取的字符串长度:
select trunc(instr(name, ‘:’, -1))-1 as length
from test;
4、有了要截取字符串长度后,再使用SUBSTR函数加上LENGTH函数来完成右截取:
select substr(name, length(name)-result+1) as result
from (
select name, trunc(instr(name, ‘:’, -1))-1 as result
from test
) t;
使用INSTR、LENGTH以及SUBSTR函数组合,可以很方便的完成Oracle数据库中字符串右截取的操作,以上操作实例,可以帮助我们更好的使用组合函数实现字符串截取的操作。