我正在使用SQL Developer。
表名: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_%'
我得到的结果如下:
153464685&安培;类型= REE
但我希望结果如下: 153464685
即使我更改了INSTR(t.ETA,'类型') - 1,仍然得到相同的结果?
我可以在这做什么?请建议。感谢。
答案 0 :(得分:1)
使用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_%'
答案 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_%'