读书人

仍是正则表达式

发布时间: 2012-09-16 17:33:16 作者: rapoo

还是正则表达式
SELECT REGEXP_SUBSTR('-20号', '[0-9]+(室|-|)')
FROM DUAL WHERE REGEXP_LIKE('-20号', '(室|-|)') 我想判断'-20号' 这个值为室为-的时候显示20 ,其他的就为空!。不知道为什么就是会有差

[解决办法]

SQL code
--意思,不是-20出的是空?SELECT regexp_replace(REGEXP_SUBSTR('-20号', '[-0-9]+室?$'),'[-室]',''),    regexp_replace(REGEXP_SUBSTR('-20室', '[-0-9]+室?$'),'[-室]',''),    regexp_replace(REGEXP_SUBSTR('-20', '[-0-9]+室?$'),'[-室]','') FROM DUAL;/*R RE RE                                                                         - -- --                                                                           20 20                                                                         */ 

读书人网 >oracle

热点推荐