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