日期:2014-05-17  浏览次数:20649 次

oracle字符串分割问题!!求教大神!!
有一列数据附件地址是类似于这样的格式
/upload/2013/07/25/16/800f5ede-e459-4c8e-b2b3-69899f858342.doc
现在就要把最后的800f5ede-e459-4c8e-b2b3-69899f858342.doc 分割出来 然后存储到新的一列,数据很多 小弟惶恐 各位大神求教啊 在线等

------解决方案--------------------
with t as
 (select '/upload/2013/07/25/16/800f5ede-e459-4c8e-b2b3-69899f858342.doc' str
    from dual
  union all
  select '/aa.doc'
    from dual
  union all
  select '/c/cc.txt' from dual)
select regexp_replace(str, '.*/(.*)', '\1') from t;

------解决方案--------------------

--column_name: 相应列名
--table_name: 相应表名
select substr(column_name,
              instr(column_name,
                    '/',
                    -1) + 1)
  from table_name;