我正在寻找一条Oracle SQL查询语句,以获取值'LATCH',该值位于'RTG/LATCH.PETROL_ABC'中。
谢谢。
谢谢。
您可以使用正则表达式:
select regexp_replace('RTG/LATCH.PETROL_ABC', '.*/(.+)\..*', '\1' ) from dual
首先,我们要找到匹配项:
.*/ 匹配 RTG/
(.+) 匹配 LATCH 并将匹配项标记为第1组
\..* 匹配 .PETROL_ABC
然后,我们使用 \1 将整个字符串替换为匹配项中的第1组。
SELECT SUBSTR('RTG/LATCH.PETROL_ABC',
INSTR('RTG/LATCH.PETROL_ABC', '/') + 1,
INSTR('RTG/LATCH.PETROL_ABC', '.') - INSTR('RTG/LATCH.PETROL_ABC', '/') - 1)