Oracle SQL从含数字的字符串中,截取出非数字字符

2025-03-23 02:47:12
推荐回答(5个)
回答1:

如果字符都是在一起的那么还可以实现(用正则表达式,oracle有相关函数,因为不怎么常用所以只能给这点建议,写法真的记不住了)。
不过如果是A112344A2B3C4DDDDD13121, 那么就没办法了。其实也不是没办法,关键是办法太麻烦。

回答2:

select regexp_substr(T1.vc_report_code,'.*[a-zA-z]')
from tstockinfo T1
上面是例子,具体自己改一下

regexp_substr(T1.vc_report_code,'.*[a-zA-z]')
就是当前列中的字母字符串过滤出来!

回答3:

这个只能祭出强大的正则表达式了,字符的正a-z A-Z ,筛选的正则表达式为regexp_substr(字段,'.*[a-zA-z]')

回答4:

 select substr(regexp_REPLACE('A20110304ABCDE20120303', '[[:digit:]]',''),2) REGEXP_SUBSTR from dual;

 select substr(regexp_REPLACE('A20110331ABCD_E', '[[:digit:]]',''),2) REGEXP_SUBSTR from dual;

 select substr(regexp_REPLACE('A033XYZ', '[[:digit:]]',''),2) REGEXP_SUBSTR from dual;

请点击输入图片描述

回答5:

11111111