regexp_substr在oracle9i的替换方案

regexp_substr()方法在oracle9i尚不存在,是从oracle10g开始新增,如下为替换解决方法。

SELECT regexp_substr('|83~GT67XVFU0RCVIV|635~SITGRP|507~2006-10-03 14:18:26|101~TOMS NEW|1462~STEVE ROBB INC|507~2006-10-03 14:18:26|',
'|101~[^|]+|') from dual;

WITH tab AS
  (SELECT '|83~GT67XVFU0RCVIV|635~SITGRP|507~2006-10-03 14:18:26|101~TOMS NEW|1462~STEVE ROBB INC|507~2006-10-03 14:18:26|' col
     FROM dual
  )
 SELECT SUBSTR(col,instr(col,'|101~')+1,instr(col,'|',instr(col,'|101~')+1)-instr(col,'|101~')-1)
   FROM tab

 待写,关于regexp_substr的用法;

posted @ 2013-12-05 18:47  魏朝辉  阅读(832)  评论(0编辑  收藏  举报