Sql для удаления подстроки в строке (оракул 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"
Я хотел бы удалить подстроку "New Account balance is Ksh12,050,100"
из основной строки с помощью SQL.
Обратите внимание, что сумма в подстроке (Ksh12,050,100
) не исправлено, поэтому у меня возникла проблема с использованием REGEXP_REPLACE
,
1 ответ
Решение
Предполагая, что подстрока для удаления всегда находится в последней части строки, и что подстрока 'New Account balance is Ksh'
самое большее один раз встречается в строке, вам не нужны регулярные выражения.
Вы можете найти позицию, где начинается строка для удаления (по INSTR
), а затем обрежьте строку до этой позиции (SUBSTR
):
select substr(yourString, 1, instr(yourString, 'New Account balance is Ksh') -1)
from ...