Oracle 正则表达式截取数值

想从varch2字段类型的值中截取数值,regexp_substr不太会使,求会oracle 正则表达式的大神指教。。

比如有值如下:
450T,650,LOW 850T(RHCM)。。。
只想要其中的数值:
450,650,850 。。。

1个回答

这样写regexp_substr(t.machinetype, '[0-9]+',1,1,'m')可以实现单个匹配。按照你的情况中间有多组数字符合的话,可以通过存储过程来做,将每次结果输出值某张指定的临时表中。REGEXP_SUBSTR的参数列表(一共5个参数):
第一个是输入的字符串
第二个是正则表达式
第三个是标识从第几个字符开始正则表达式匹配。(默认为1)
第四个是标识第几个匹配组。(默认为1)
第五个是是取值范围:
i:大小写不敏感;
c:大小写敏感;
n:点号 . 不匹配换行符号;
m:多行模式;
x:扩展模式,忽略正则表达式中的空白字符。

就这些了,希望对你有点帮助。

liuyinhuan0409
liuyinhuan0409 many thanks~~
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐