SQL删除字符串中的子字符串(Oracle 11g)

时间:2018-08-31 08:03:40

标签: sql regex oracle oracle11g regexp-replace

我在下面有一个示例字符串。

"MHV9DRDUY7 Confirmed.on 31/8/18 at 10:18 AMKsh9,500.00 received from 25470000000 JAMES BOND.New Account balance is Ksh12,050,100"

我想使用SQL从主字符串中删除子字符串"New Account balance is Ksh12,050,100"

请注意,子字符串(Ksh12,050,100)中的金额不是固定的,因此我在使用REGEXP_REPLACE时遇到了挑战。

1 个答案:

答案 0 :(得分:2)

假定要删除的子字符串始终在字符串的最后一部分,并且子字符串'New Account balance is Ksh'最多在字符串中出现一次,则不需要正则表达式。

您可以找到要删除的字符串的起始位置(通过INSTR),然后将字符串修剪到该位置(SUBSTR):

select substr(yourString, 1, instr(yourString, 'New Account balance is Ksh') -1)
from ...