如何在第一个数字系列 PL/SQL 之后提取所有内容

How to extract everything after 1st series of numbers PL/SQL

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

您可以为此使用 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