2016-07-28 7 views
0

私はSQL Developerを使用しています。SQL Result内の2つの既知の文字列間で文字列を抽出し、別の列に表示する方法はありますか?

表名:PRCQA.PRCBUILD_FJ_BAT

列名: 'ETA' のETA

値:

http://reefoats.us.oc.com:8080/atsresultviewer/displayresult?ree_run_id=153464685&type=ree

私はから文字列153464685を抽出しようとしています上記の結果の列を別々に表示します。

私が今までにこれを試してみました:私は、結果として、以下の値を取得しています

SELECT SUBSTR(t.ETA, INSTR(t.ETA, '=')+1, INSTR(t.ETA, 'type')-1), t.ETA AS output 
    FROM PRCQA.PRCBUILD_FJ_BAT t 
    WHERE t.DTE_ID = '33782451' AND t.BAT_NAME LIKE '110_170_ECM 140_%' 

を:

タイプ= REE

しかし、私はその結果をしたい:

INSTR(t.ETA、 'type') - 1を変更しても、同じ結果が得られますか?

ここでは何ができますか?提案してください。ありがとう。

答えて

0

これが働いた:

SELECT SUBSTR(t.ETA, INSTR(t.ETA, '=')+1, (INSTR(t.ETA, 'type')-INSTR(t.ETA, '='))-2), t.ETA AS output 
    FROM PRCQA.PRCBUILD_FJ_BAT t 
    WHERE t.DTE_ID = '33782451' AND t.BAT_NAME LIKE '110_170_ECM 140_%' 
0

使用regexp_substr()

select translate(regexp_substr(eta, '[=][^=&]+[&]', 1, 1), '=&a', 'a') 
from PRCQA.PRCBUILD_FJ_BAT t 
where t.DTE_ID = '33782451' and t.BAT_NAME like '110_170_ECM 140_%' 
関連する問題