oracle查询数据时,如何去掉后面的括号内容

2025-03-24 06:57:47
推荐回答(3个)
回答1:

楼主您好
第二列kcmc 可以用regexp_replace(kcmc,'(.+)','')替换查询
那个括号应该是全角的,注意函数里的括号也是全角的
如果有全角的或者半角的可以替换成[\(|(].+[\)|)]
select regexp_replace('毕业论文全(2)', '[\(|(].+[\)|)]', '') from dual
union
select regexp_replace('毕业论文半(2)', '[\(|(].+[\)|)]', '') from dual

回答2:

select (case
when instr(t.kcmc, '(') > 0 then
substr(t.kcmc, 0, instr(t.kcmc, '(') - 1)
else
t.kcmc
end) col
from your_table t

回答3:

select *,left(KCMC,charindex('(',REVERSE(KCMC))-1) as KCMC from 。。。
图上的不清楚,我也不用写了,你明白的。满意请采纳吧