截取ORACLE字符串中的数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了截取ORACLE字符串中的数字相关的知识,希望对你有一定的参考价值。
有一地址字段,内容如下:
东四北大街2巷4条133号
西四大街5条6633号
东单北大街5条3号院2号楼1单元23号
要取的字段是地址中“最后一个号字”前面的数字,该数字不定长
举例:
sql:select regexp_substr('CYJ8-ABC','[0-9]+') from dual;
以上sql执行结果:8;
备注:
REGEXP_SUBSTR函数格式如下:
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr :需要进行正则处理的字符串
__pattern :进行匹配的正则表达式
__position :起始位置,从第几个字符开始正则表达式匹配(默认为1)
__occurrence :标识第几个匹配组,默认为1
__modifier :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。) 参考技术A 设表名TAB、字段名DZ,保证最后的字是“号”,且地址号不超过4位9999。
语句如下:
SELECT REGEXP_SUBSTR(DZ,'[0-9]+',INSTR(DZ,'号',-1,1)-4,3) FROM TAB;本回答被提问者和网友采纳
以上是关于截取ORACLE字符串中的数字的主要内容,如果未能解决你的问题,请参考以下文章