如何从SQL中的字符串中删除唯一字符

时间:2017-04-06 14:10:48

标签: sql oracle replace

我可以用什么函数来删除字符串中的某些字符?我知道我可以使用REPLACE()函数但是有大约30个变量需要这样做,希望有一个更有效的路径。

示例:

目前显示的内容:

BasicPay_5000
CarAllowance_6000
Bonus_7000

我需要它展示:

5000
6000
7000

是否有一个函数可以删除所有字符到预定义的字符?例如。通过编写一个语句,删除所有字符,直到_(下划线)。

2 个答案:

答案 0 :(得分:1)

这应该有帮助

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

BasicPay_5000可以替换为您拥有的任何数据,如果它采用上述格式

答案 1 :(得分:1)

这使用正则表达式来获取字符串末尾的数字。

[0-9] - 任何数字

{1,} - 上一个搜索字词中的一个或多个

$ - 将搜索锚定到该行的末尾。

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