如何提取第一组数字PL / SQL之后的所有内容

时间:2019-01-18 13:04:18

标签: sql regex oracle regexp-substr

我想提取第一组数字之后的所有内容。 例如,95a6的结果应为95和a6。 9B2的结果应该是9和B2

1 个答案:

答案 0 :(得分:4)

您可以使用REGEXP_SUBSTR

SELECT str
     , REGEXP_SUBSTR(str, '\d+') AS substr1
     , REGEXP_SUBSTR(str, '[A-Za-z].*') AS substr2
FROM (
    SELECT '95a6' AS str FROM DUAL UNION
    SELECT '9 B2' FROM DUAL
) tests

此处\d+匹配一个数字序列,[A-Za-z].*匹配一个字母及其后的所有字符。

Demo on db<>fiddle