2015-04-01 80 views
0

在我的表包含值的行狀如何獲得REGEXP_SUBSTR一個字符串

sample>test Y10, 
Sample> y21 

我希望得到一個子像y10y21所有行。我可以請知道如何得到它。我嘗試了regexp_substr,Instr,但無法找到解決方案。

回答

0

我假設你的字符串來自列被single space分開。 它會給你將由' '空格splited最後occurances

substr(your_string, 1, instr(yourString,' ') - 1) 

,也可以使用regexp_substr

regexp_substr(your_String, '[^[:space:]]+', 1, -1) 
0

假設yxx總是前面有一個空格實現這一目標,它應該是爲容易這樣做:

TRIM(REGEXP_SUBSTR(mycolumn, ' y\d+', 1, 1, 'i')) 

上面的正則表達式將抓取y(注意它是不區分大小寫的,所以它也會抓取Y),然後是一個不確定的數字(一個或多個)。如果您只想抓取兩位數字,請將\d+替換爲\d{2}

此外,請注意,它將只獲得第一次出現。獲得多次事件會更復雜一些,但仍然可以完成。