我有一个字符串(Oracle 11g)可能是这样的:
WORD1:10.20 WORD2:1112.30
两个数字的大小可以不同(可以是数十,数百或数千) - 虽然单词是固定的 - 我需要的是提取第一个数字(包括小数部分)。在上面的示例中,它将是" 10.20"。
我怎样才能实现这一目标?基本上我需要的是获得" WORD1"之间的整数。和" WORD2"。
答案 0 :(得分:2)
如果单词没有变化,则需要从第8个字符获取子字符串,直到第一个'WORD2'
出现:
select substr( str, 8, instr(str, 'WORD2') -9)
from (
select 'WORD1: 10.20 WORD2: 1112.30' str
from dual
)