2017-04-06 144 views
0

可以使用什麼函數來擺脫字符串中的某些字符?我知道我可以使用REPLACE()函數,但有大約30個變量需要這樣做,希望獲得更高效的路線。如何從SQL中的字符串中刪除唯一字符

例子:

什麼它目前顯示:

BasicPay_5000 
CarAllowance_6000 
Bonus_7000 

我需要什麼,以顯示:

5000 
6000 
7000 

是否有一個功能,刪除所有字符,直到達到預定義的字符?例如。通過編寫一個刪除所有字符的語句,最多可以刪除_(下劃線)。

+0

請檢查http://stackoverflow.com/questions/16667251/query-to-get-only-numbers-from-a-string文章。這可能是有用的。 – Erko

回答

1

這應該有助於

select substr('BasicPay_5000', instr('BasicPay_5000','_') + 1) from dual 

BasicPay_5000可以與你有任何數據被替換,如果在上述格式

1

它使用正則表達式在字符串的結尾得到的數字。

[0-9] - 任何數字

{1,} - 1個或多個先前的搜索術語

$的 - 錨定搜索到行的結尾。

SELECT REGEXP_SUBSTR('Basic_Pay_5000','[0-9]{1,}$') FROM dual