如何在第一个数字系列 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].*
匹配字母及其后的所有内容。
我想提取第一个数字系列之后的所有内容。 例如,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].*
匹配字母及其后的所有内容。