获取包含多个数字的字符串中的第一个数字?

时间:2017-05-17 11:18:10

标签: plsql oracle11g

我有一个字符串(Oracle 11g)可能是这样的:

WORD1:10.20 WORD2:1112.30

两个数字的大小可以不同(可以是数十,数百或数千) - 虽然单词是固定的 - 我需要的是提取第一个数字(包括小数部分)。在上面的示例中,它将是" 10.20"。

我怎样才能实现这一目标?基本上我需要的是获得" WORD1"之间的整数。和" WORD2"。

1 个答案:

答案 0 :(得分:2)

如果单词没有变化,则需要从第8个字符获取子字符串,直到第一个'WORD2'出现:

select substr( str, 8, instr(str, 'WORD2') -9)
from (
        select 'WORD1: 10.20 WORD2: 1112.30' str
        from dual
     )