使用translate将字符串中的数字提取出来

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


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

 

posted @ 2018-01-08 00:22  碧水幽幽泉  阅读(535)  评论(0编辑  收藏  举报