Oracle 提取字段中的数字 ,在PL/SQL中实现。

字段内容:‘ <ROOT><MPAGEID>20673</MP’
不要简单的回答。另:我是菜鸟。一旦采纳,加分。
上面只是一个普通例子,我亦可以是:‘MPAGEID>20673</MP’;麻烦给一个通用的。
最新回答
姑娘不要怕我不是什么好人

2024-04-17 03:13:53

select TRIM(TRANSLATE('<ROOT><MPAGEID>20673</MP', trim(TRANSLATE('<ROOT><MPAGEID>20673</MP', '1234567890', ' ')), ' ')) from dual
内层的TRANSLATE将数字替换成空格
外层的TRANSLATE将数字之外的替换成空格,剩下的就是数字了
善良乀゛の死神

2024-04-17 11:40:47

利用系统临时表实现;
select substr('<ROOT><MPAGEID>20673</MP',16,5) from dual;

结果 20673
利用实体表实现;
select substr(字段名,16.5) from 表名;

结果 20673
萌城少女

2024-04-17 01:44:00

先截取字符串,然后再替换,或者使用正则表达式~!