如何通过oracle regexp\u substr()提取“/”字符前面的部分

unhi4e5o  于 2021-07-29  发布在  Java
关注(0)|答案(3)|浏览(442)

我想在1号之前提取这个部分 / ,我该怎么做?

SELECT REGEXP_SUBSTR('prAct1-03/cPMI-01/iPEPC9-01/t35s-08','(pr.*)/',1,1) as promoter 
   FROM dual;

没有工作,似乎甲骨文不支持向前看和向后看。谢谢!

ghhaqwfi

ghhaqwfi1#

我只想在这里使用基本字符串函数:

SELECT SUBSTR(col, 1, INSTR(col, '/') - 1) AS first_part
FROM yourTable;

演示

如果您真的想使用regex,请尝试:

SELECT REGXP_SUBSTR(col, '^[^/]+')
FROM yourTable;
vxf3dgd4

vxf3dgd42#

一个选项使用 REGEXP_REPLACE() 功能:

SELECT REGEXP_REPLACE('prAct1-03/cPMI-01/iPEPC9-01/t35s-08','(\S)(/.*)','\1') AS promoter
  FROM dual;

演示

r1zk6ea1

r1zk6ea13#

请使用下面的查询,

select substr('prAct1-03/cPMI-01/iPEPC9-01/t35s-08', 0, instr('prAct1-03/cPMI-01/iPEPC9-01/t35s-08', '/')-1) as promoter from dual;

相关问题