回答20个问题,其中有12个最佳答案
我想截取“回答”后面的数字,可能有一位也可能截取两位
这个sql怎么写啊?
select regexp_substr(substr('回答20个问题,其中有12个最佳答案',instr('回答20个问题,其中有12个最佳答案','回答')+2 ,5),'[0-9]+') 值 from dual
https://www.cnblogs.com/wangkang0320/p/6743965.html 参考这个
ORACLE 10以上可以用正则截取
select regexp_substr('回答20个问题,其中有12个最佳答案','[0-9]+',1,1) as num from dual
with t as
(select '回答20个问题,其中有12个最佳答案' a from dual union all
select '回答20222个问题,其中有12个最佳答案' a from dual union all
select '回答2个问题,其中有12个最佳答案' from dual)
select a,SUBSTR(a, INSTR(a,'回答')+2, INSTR(a,'个')-INSTR(a,'回答')-2) from t
select substr(T.ccc,2-length(T.ccc)) from t
用replace把“回答”替换成'',不行么?replace(字段名,'回答','')