select
t.strcont,
regexp_substr(t.strcont,'((19|2\d)\d{2})-\d{2}') as 日期
from (
select '我是测试的数据2012-12-05~2021-12-15今天这个数据是一样的测试2035' as strcont from dual
union all
select '我是这个数据2012年不是吧2022-03-02' as strcont from dual
) t
substr( 字段, INSTR(字段, '~' ) + 1,7) 结束日期
substr( 字段, INSTR(字段, '~' ) - 10, 7 ) 开始日期
---------
-1你试着调整一下看,加不加
--------取年月 截取的10 改为 7
WITH tmp AS (
SELECT '管理费用:2022-01-01~2020-04-07,' AS cn FROM dual
)
SELECT substr(REGEXP_SUBSTR(cn,':.*~'),2,7) FROM tmp