首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

还是正则表达式解决办法

2013-01-26 
还是正则表达式SELECT REGEXP_SUBSTR(-20号, [0-9]+(室|-|))FROM DUAL WHERE REGEXP_LIKE(-20号, (

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


--這個意思,不是-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                                                                         
*/

热点排行