oracle中可以通过以下方式处理
select str,
       trim(translate(str, '-.#+0123456789', '  # '))          dw,
       translate(str, '-.+0123456789' || str, '-.+0123456789') num
from (select '3.4mm/kg' as str
      from dual
      union all
      select '-1.2mm' as str
      from dual
      union all
      select '+0.34md' as str
      from dual
      union all
      select '-3.23N' as str
      from dual
      union all
      select '+3.4KN' as str
      from dual
      union all
      select '20.36°' as str
      from dual
      union all
      select '35.36℃' as str
      from dual
     )
;
