--方法1: with tmp as ( select '按时的撒旦123元(其中含存款11元)' name from dual union all select '一类似的预存9600元(新势力)' from dual ) select name,trim(translate( substr(name,,instr(name,'元')), translate( substr(name,,instr(name,'元')), ', ' '),' ' ) ) num from tmp; --方法2: