问题描述
想从varch2字段类型的值中截取数值,regexp_substr不太会使,求会oracle 正则表达式的大神指教。。比如有值如下:450T,650,LOW 850T(RHCM)。。。只想要其中的数值:450,650,850 。。。 问题补充:好像可以这样:regexp_substr(t.machinetype, '[0-9]+')
解决方案
这样写regexp_substr(t.machinetype, '[0-9]+',1,1,'m')可以实现单个匹配。按照你的情况中间有多组数字符合的话,可以通过存储过程来做,将每次结果输出值某张指定的临时表中。REGEXP_SUBSTR的参数列表(一共5个参数):第一个是输入的字符串第二个是正则表达式第三个是标识从第几个字符开始正则表达式匹配。(默认为1)第四个是标识第几个匹配组。(默认为1)第五个是是取值范围:i:大小写不敏感;c:大小写敏感;n:点号 . 不匹配换行符号;m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。就这些了,希望对你有点帮助。
时间: 2024-10-26 07:00:48