2013-04-15 49 views
0

之間的數字顯示,甲骨文下劃線和點

我想顯示下劃線和點

例如之間的數字:pSE1001335806_ .DAT 所以列將爲= 17950

但是:pSE1001311462_ .DAT 列會= 4558

如何CA ñ我這樣做?

回答

0

對此可以使用正則表達式;如果你能概括它使字母數字字符的第二塊,那麼就有這個簡單的將工作:

regexp_substr(<value>, '([[:alnum:]]+)', 1, 2) 

的CTE來生成樣本值:

with files as 
(
    select 'pSE1001335806_17950.dat' as filename from dual 
    union all select 'pSE1001311462_4558.dat' from dual 
) 
select regexp_substr(filename, '([[:alnum:]]+)', 1, 2) 
from files; 

REGEXP_SUBSTR(FILENAME,'([[:ALNUM:]]+)',1,2) 
-------------------------------------------------------------------------------- 
17950 
4558 
0

方式一:

select regexp_replace('pSE1001335806_17950.dat','.*_([0-9]+).dat','\1') from dual