在 Oracle 中,可以使用正则表达式函数 REGEXP_SUBSTR
来从字符串中筛选出数字。
例如,假设你有一个字符串 'abc123def456'
,你想要筛选出其中的数字。你可以使用以下查询语句:
SELECT REGEXP_SUBSTR('abc123def456', '[0-9]+') AS digits
FROM dual;
这将返回:
digits
-------
123456
如果你想要筛选出所有的数字,而不是连在一起的数字,你可以使用以下查询语句:
SELECT REGEXP_SUBSTR('abc123def456', '[0-9]', 1, LEVEL) AS digits
FROM dual
CONNECT BY LEVEL <= LENGTH(REGEXP_REPLACE('abc123def456', '[^0-9]', ''));
这将返回:
digits
-------
1
2
3
4
5
6
注意:这些查询语句假设你的字符串中只包含数字。如果字符串中还包含其他字符,你可能需要进行一些额外的处理。