如果字符都是在一起的那么还可以实现(用正则表达式,oracle有相关函数,因为不怎么常用所以只能给这点建议,写法真的记不住了)。
不过如果是A112344A2B3C4DDDDD13121, 那么就没办法了。其实也不是没办法,关键是办法太麻烦。
select regexp_substr(T1.vc_report_code,'.*[a-zA-z]')
from tstockinfo T1
上面是例子,具体自己改一下
regexp_substr(T1.vc_report_code,'.*[a-zA-z]')
就是当前列中的字母字符串过滤出来!
这个只能祭出强大的正则表达式了,字符的正a-z A-Z ,筛选的正则表达式为regexp_substr(字段,'.*[a-zA-z]')
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;
请点击输入图片描述
11111111