liuyinhuan0409 2013-01-02 15:22
浏览 876
已采纳

Oracle 正则表达式截取数值

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

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

  • 写回答

1条回答 默认 最新

  • 澜冰-Tonly 2013-01-02 16:23
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?