Sql 删除字符串中的子字符串 (oracle 11g)
Sql to remove a substring within a string (oracle 11g)
我在下面有一个示例字符串。
"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
时遇到了挑战。
假设要删除的子串总是在字符串的最后部分,并且子串'New Account balance is Ksh'
在字符串中最多出现一次,则不需要正则表达式。
您可以找到要删除的字符串开始的位置(按 INSTR
)然后 trim 直到该位置的字符串(SUBSTR
):
select substr(yourString, 1, instr(yourString, 'New Account balance is Ksh') -1)
from ...
我在下面有一个示例字符串。
"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
时遇到了挑战。
假设要删除的子串总是在字符串的最后部分,并且子串'New Account balance is Ksh'
在字符串中最多出现一次,则不需要正则表达式。
您可以找到要删除的字符串开始的位置(按 INSTR
)然后 trim 直到该位置的字符串(SUBSTR
):
select substr(yourString, 1, instr(yourString, 'New Account balance is Ksh') -1)
from ...