创建测试表及数据
create table test
(name varchar2(10));
insert into test values ('2-15');
insert into test values ('2-33');
insert into test values ('2-3');
insert into test values ('12-8');
insert into test values ('12-22');
insert into test values ('12-3');
执行
select name,substr(name,1,instr(name,'-')-1) 前,substr(name,instr(name,'-')+1,length(name)-instr(name,'-')) 后 from test
截图
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/8ad4b31c8701a18b9bc5d3089a2f07082838fe4f?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
本回答被提问者采纳