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的用法;

你可能感兴趣的:(oracle)